Last active
October 15, 2020 06:42
-
-
Save AnnieRuru/aef19ddbaf2bd1f432bd53ea78a32d5d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
npc/woe-fe/agit_main.txt | 95 +++++++++++++++++++++++++++--------------------- | |
1 file changed, 53 insertions(+), 42 deletions(-) | |
diff --git a/npc/woe-fe/agit_main.txt b/npc/woe-fe/agit_main.txt | |
index cb319c590..2dce03b2e 100644 | |
--- a/npc/woe-fe/agit_main.txt | |
+++ b/npc/woe-fe/agit_main.txt | |
@@ -1126,6 +1126,34 @@ OnGuardianDied: | |
- script Gld_Trea_Spawn::Gld_Trea_Spawn FAKE_NPC,{ | |
end; | |
+ | |
+OnClock0002: | |
+ // Do nothing if this script is the template. | |
+ if (strnpcinfo(NPC_NAME_VISIBLE) == "Gld_Trea_Spawn") end; | |
+ | |
+ .@GID = getcastledata(strnpcinfo(NPC_NAME_HIDDEN),1); | |
+ | |
+ // If there is no owner, do nothing. | |
+ if (!.@GID) end; | |
+ | |
+ // Apply investment to Eco. and Def. Only happens if there were investments made. | |
+ // Permanent Development can only happen once per day. | |
+ if (getcastledata(strnpcinfo(NPC_NAME_HIDDEN),4)) { | |
+ .@Economy = getcastledata(strnpcinfo(NPC_NAME_HIDDEN),2); | |
+ setcastledata strnpcinfo(NPC_NAME_HIDDEN),2,.@Economy + getcastledata(strnpcinfo(NPC_NAME_HIDDEN),4) + (rand(2) && getgdskilllv(.@GID,10014)); | |
+ if (getcastledata(strnpcinfo(NPC_NAME_HIDDEN),2) > 100) setcastledata strnpcinfo(NPC_NAME_HIDDEN),2,100; | |
+ } | |
+ if (getcastledata(strnpcinfo(NPC_NAME_HIDDEN),5)) { | |
+ .@defence = getcastledata(strnpcinfo(NPC_NAME_HIDDEN),3); | |
+ setcastledata strnpcinfo(NPC_NAME_HIDDEN),3,.@defence + getcastledata(strnpcinfo(NPC_NAME_HIDDEN),5); | |
+ if (getcastledata(strnpcinfo(NPC_NAME_HIDDEN),3) > 100) setcastledata strnpcinfo(NPC_NAME_HIDDEN),3,100; | |
+ } | |
+ // Reset daily investment limits. | |
+ setcastledata strnpcinfo(NPC_NAME_HIDDEN),4,0; | |
+ setcastledata strnpcinfo(NPC_NAME_HIDDEN),5,0; | |
+ end; | |
+ | |
+OnInit: | |
OnClock0001: | |
// Do nothing if this script is the template. | |
if (strnpcinfo(NPC_NAME_VISIBLE) == "Gld_Trea_Spawn") end; | |
@@ -1244,106 +1272,89 @@ OnClock0001: | |
end; | |
} | |
- // Apply investment to Eco. and Def. Only happens if there were investments made. | |
- // Permanent Development can only happen once per day. | |
- if (getcastledata(strnpcinfo(NPC_NAME_HIDDEN),4)) { | |
- .@Economy = getcastledata(strnpcinfo(NPC_NAME_HIDDEN),2); | |
- setcastledata strnpcinfo(NPC_NAME_HIDDEN),2,.@Economy + getcastledata(strnpcinfo(NPC_NAME_HIDDEN),4) + (rand(2) && getgdskilllv(.@GID,10014)); | |
- if (getcastledata(strnpcinfo(NPC_NAME_HIDDEN),2) > 100) setcastledata strnpcinfo(NPC_NAME_HIDDEN),2,100; | |
- } | |
- if (getcastledata(strnpcinfo(NPC_NAME_HIDDEN),5)) { | |
- .@defence = getcastledata(strnpcinfo(NPC_NAME_HIDDEN),3); | |
- setcastledata strnpcinfo(NPC_NAME_HIDDEN),3,.@defence + getcastledata(strnpcinfo(NPC_NAME_HIDDEN),5); | |
- if (getcastledata(strnpcinfo(NPC_NAME_HIDDEN),3) > 100) setcastledata strnpcinfo(NPC_NAME_HIDDEN),3,100; | |
- } | |
- // Reset daily investment limits. | |
- setcastledata strnpcinfo(NPC_NAME_HIDDEN),4,0; | |
- setcastledata strnpcinfo(NPC_NAME_HIDDEN),5,0; | |
- | |
// Spawn boxes in proper order. | |
for (.@i = 0; .@i < .@Treasure ; ++.@i) { | |
// set treasure box ID | |
.@boxid = .@treasurebox + (.@i+2) % 2; | |
.@box = 1 << .@i; | |
// Spawn or do not spawn chests if one already exists. | |
- if ((getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & .@box) == 0) { | |
+ if (getd("$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure["+.@i+"]") != atoi(gettimestr("%Y%m%d", 20))) { | |
monster strnpcinfo(NPC_NAME_HIDDEN),.@treasurex[.@i],.@treasurey[.@i],"Treasure Chest",.@boxid,1,"Treasure#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnTreasureDied"+.@i; | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") | .@box; | |
} | |
} | |
end; | |
// Individual "You killed a chest" events to ensure proper spawning at the change of day. | |
OnTreasureDied0: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~1; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[0]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied1: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~2; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[1]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied2: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~4; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[2]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied3: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~8; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[3]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied4: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~16; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[4]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied5: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~32; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[5]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied6: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~64; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[6]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied7: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~128; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[7]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied8: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~256; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[8]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied9: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~512; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[9]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied10: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~1024; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[10]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied11: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~2048; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[11]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied12: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~4096; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[12]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied13: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~8192; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[13]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied14: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~16384; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[14]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied15: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~32768; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[15]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied16: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~65536; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[16]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied17: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~131072; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[17]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied18: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~262144; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[18]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied19: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~524288; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[19]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied20: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~1048576; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[20]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied21: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~2097152; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[21]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied22: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~4194304; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[22]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
OnTreasureDied23: | |
- setd "$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure",getd("$@"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure") & ~8388608; | |
+ setd "$"+strnpcinfo(NPC_NAME_HIDDEN)+"_treasure[23]", atoi(gettimestr("%Y%m%d", 20)); | |
end; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment