Index: Daodan/src/Daodan_BSL.c
===================================================================
--- Daodan/src/Daodan_BSL.c	(revision 441)
+++ Daodan/src/Daodan_BSL.c	(revision 442)
@@ -20,30 +20,26 @@
 {
 
-	//void* GS = (short int**)(ONgGameState);
-
-	//if (numargs < 2)
-	//	return 1;
-	
-	//fix the AC struct :(
-	//ret->value_int32 = ((ActiveCharacter *)(ONgGameState+0xB6268))->NumberOfKills;
-	//short int index =;
-	//char temp_bitset[2];
-	int index2;
-	if (numargs == 0) index2 = 0;
-	else index2 = args[0].value_int32;
-	char* active_index = ONgGameState + index2 * 0x16A0 +  0x1260 + 2;
-	//index = *(*()+ 0x1260 +2);
-	//ret->value_int32 = *((signed int*)(ONgGameState)) +0xB6268+(*(((signed int*)(ONgGameState)) + 0xAC)+2)*0x2838+0x1670;
-	//ret->value_int32 = *(int*)(ONgGameState +0xB6268 + index2 * 0x2838 + 0x1670);
-	
-	//TODO: Clean up this mess...
-//	ret->value_int32 = *active_index;
-	
-	ret->value_int32 = ((uint32_t*)(ONgGameState +0xB6268+(int)(*active_index)*0x2838+0x1670));
-
+	int index;
+	if (numargs == 0) index = 0;
+	else index = args[0].value_int32;
+	int* killcount = ONgGameState + index * 0x16A0 +  0x1260 + 0x1670;
+	ret->value_int32 = *killcount;
 	ret->type = sl_int32;
 	return 0;
+
 }
 
+uint16_t ONICALL bsl_getdamage(void* dontuse0, uint32_t numargs, sl_arg args[], void* dontuse1, void* dontuse2, sl_arg* ret)
+{
+
+	int index;
+	if (numargs == 0) index = 0;
+	else index = args[0].value_int32;
+	int* killcount = ONgGameState + index * 0x16A0 +  0x1260 + 0x1674;
+	ret->value_int32 = *killcount;
+	ret->type = sl_int32;
+	return 0;
+
+}
 
 uint16_t ONICALL bsl_mul(void* dontuse0, uint32_t numargs, sl_arg args[], void* dontuse1, void* dontuse2, sl_arg* ret)
@@ -106,6 +102,4 @@
 		return 1;
 	
-
-<<<<<<< .mine
 	char output[255];
 	char temp[255];
@@ -166,9 +160,9 @@
 	SLrScript_Command_Register_ReturnType("sprintf", "sprintf", "str1:format str2:value [str3:...]", sl_str32, bsl_sprintf);
 
-	SLrScript_Command_Register_ReturnType("getkills","Gets the number of kills", "[n1:int]", sl_int32, bsl_getkills);
-
+	SLrScript_Command_Register_ReturnType("chr_getkills","Gets the number of kills a character has", "[chrindex:int]", sl_int32, bsl_getkills);
+	SLrScript_Command_Register_ReturnType("chr_getdamage","Gets the amount of damage a character has caused", "[chrindex:int]", sl_int32, bsl_getdamage);
 	
 	dsfmt_gv_init_gen_rand((uint32_t)time(NULL));
 	SLrScript_Command_Register_ReturnType("int32rand", "Returns a pseudo-random number between two numbers (inclusive).", "start:int end:int", sl_int32, bsl_int32rand);
->>>>>>> .r440
+
 }
Index: Daodan/src/Oni_Symbols.S
===================================================================
--- Daodan/src/Oni_Symbols.S	(revision 441)
+++ Daodan/src/Oni_Symbols.S	(revision 442)
@@ -52,6 +52,11 @@
 symbol ( @ONrGameState_NewCharacter@16             , 0x000dac50 )
 symbol ( @ONrGameState_GetPlayerCharacter@0        , 0x000b63a7 )
+symbol ( @ONrGetActiveCharacter@4				   , 0x000f1180 )
+// Console
 
-// Console
+symbol ( @TSrContext_DrawText@20			 , 0x0002DF00 )
+symbol ( @TSrContext_New@24					 , 0x0002EA30 )
+symbol ( @TMrInstance_GetDataPtr@12			 , 0x000232E0 )
+
 symbol ( @COrTextArea_Print@28                     , 0x00031340 )
 symbol ( _COgConsoleLines                          , 0x001cb468 )
@@ -62,2 +67,3 @@
 // ScriptingLanguage
 symbol ( @SLrScript_Command_Register_ReturnType@20 , 0x00077b20 )
+
