summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-12-14 23:38:11 +0000
committerultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-12-14 23:38:11 +0000
commit1382b22cd68bf90f2adc4ae13187416982f9a12f (patch)
tree60602ab8f3578407bffbd1859603c3a586c52256 /npc
parent78474fe9877675f3fc173f0b7e7235fd6c105067 (diff)
downloadhercules-1382b22cd68bf90f2adc4ae13187416982f9a12f.tar.gz
hercules-1382b22cd68bf90f2adc4ae13187416982f9a12f.tar.bz2
hercules-1382b22cd68bf90f2adc4ae13187416982f9a12f.tar.xz
hercules-1382b22cd68bf90f2adc4ae13187416982f9a12f.zip
Guardian hp handling code removal (see bugreport:342)
- removed guardian hp from the castle data structure, database, savefiles and various script functions (use upgrade_svn11914.sql) - removed guardian hp calculation and manipulation from the castle manager npc, now the hp values are updated by the server itself (glitch: when castle defense changes, all guardians are healed to full) - tweaked script function 'guardianinfo' to provide some data needed by the manager npc (currently available are hp, maxhp and visibility); also, it doesn't need a player attached to execute anymore The whole thing is experimental, use at your own risk (seems to work though...) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11915 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc')
-rw-r--r--npc/guild/gldfunc_manager.txt49
1 files changed, 13 insertions, 36 deletions
diff --git a/npc/guild/gldfunc_manager.txt b/npc/guild/gldfunc_manager.txt
index b1134d92c..10d231fbf 100644
--- a/npc/guild/gldfunc_manager.txt
+++ b/npc/guild/gldfunc_manager.txt
@@ -143,7 +143,7 @@ function script F_GldManager {
mes "I'm sorry but there is not enough zeny to invest in the reserves of guild. You have failed to invest, Master.";
return 0;
}
- set zeny,zeny-.@eco_invest;;
+ set zeny,zeny-.@eco_invest;
SetCastleData getarg(1),4,GetCastleData(getarg(1),4)+1;
SetCastleData getarg(1),2,.@Economy + 1 + (.@Economy<99 && rand(2) && getgdskilllv(.@GID,10014));
mes "We have finished investing safely. I expect in our coming days, the growth level will increase.";
@@ -194,17 +194,6 @@ function script F_GldManager {
set Zeny,Zeny-.@def_invest;
SetCastleData getarg(1),5,GetCastleData(getarg(1),5)+1;
SetCastleData getarg(1),3,.@Defence+1;
- set .@Defence, .@Defence + 1;
- set .@AGuardian, strmobinfo(4,1285) + (.@Defence*2000);
- set .@KGuardian, strmobinfo(4,1286) + (.@Defence*2000);
- set .@SGuardian, strmobinfo(4,1287) + (.@Defence*2000);
-
- for (set .@i, 0; .@i <= 7 ; set .@i, .@i+1) {
- if (.@guardiantype[.@i] == 1) set .@GHP,.@SGuardian;
- else if (.@guardiantype[.@i] == 2) set .@GHP,.@AGuardian;
- else set .@GHP,.@KGuardian;
- if (GetCastleData(getarg(1),(.@i + 10)) == 1) SetCastleData getarg(1),(.@i + 18),.@GHP;
- }
mes "We have finished investing safely. I expect in our coming days, the growth level will increase.";
return 0;
}
@@ -213,37 +202,26 @@ function script F_GldManager {
return 0;
case 4:
- set .@Defence,GetCastleData(getarg(1),3);
- set .@AGuardian, strmobinfo(4,1285) + (.@Defence*2000);
- set .@KGuardian, strmobinfo(4,1286) + (.@Defence*2000);
- set .@SGuardian, strmobinfo(4,1287) + (.@Defence*2000);
-
mes "[ "+getarg(0)+" ]";
mes "Do you still want to summon a Guardian? It'll be a protector to defend us to the end.";
mes "Choose a Guardian to summon.";
next;
- for (set .@i, 0; .@i <= 7 ; set .@i, .@i+1) {
- if (.@guardiantype[.@i] == 1) {
- set .@type$,"Soldier";
- setarray .@GuardianHP[.@i],.@SGuardian;
- }
- else if (.@guardiantype[.@i] == 2) {
- set .@type$,"Archer";
- setarray .@GuardianHP[.@i],.@AGuardian;
- }
- else {
- set .@type$,"Knight";
- setarray .@GuardianHP[.@i],.@KGuardian;
- }
+ for( set .@i, 0; .@i <= 7 ; set .@i, .@i+1 )
+ {
+ if (.@guardiantype[.@i] == 1) set .@type$,"Guardian Soldier";
+ else if (.@guardiantype[.@i] == 2) set .@type$,"Guardian Archer";
+ else set .@type$,"Guardian Knight";
- if (GetCastleData(getarg(1),(.@i+10)))
- setarray .@name$[.@i],"Guardian "+.@type$+" - Implemented (" + guardianinfo(.@i) + "/" + .@GuardianHP[.@i] + ")";
+ if( guardianinfo(getarg(1),.@i,0) )
+ setarray .@name$[.@i], .@type$ + " - Implemented (" + guardianinfo(getarg(1),.@i,2) + "/" + guardianinfo(getarg(1),.@i,1) + ")";
else
- setarray .@name$[.@i],"Guardian "+.@type$+" - Not Implemented";
+ setarray .@name$[.@i], .@type$ + " - Not Implemented";
}
set .@menu$,.@name$[0]+":"+.@name$[1]+":"+.@name$[2]+":"+.@name$[3]+":"+.@name$[4]+":"+.@name$[5]+":"+.@name$[6]+":"+.@name$[7];
+
+ // this thing will propagate outside of this function
switch(select(.@menu$)) {
case 1: set @GDnum,10; break;
case 2: set @GDnum,11; break;
@@ -274,9 +252,8 @@ function script F_GldManager {
return 0;
}
set zeny,zeny-10000;
- set .@HP,@GDnum + 8;
- SetCastleData getarg(1),@GDnum,1;
- SetCastleData getarg(1),.@HP,.@GuardianHP[(@GDnum - 10)];
+ SetCastleData getarg(1),@GDnum,1; // mark as 'installed'
+ // guardian will be spawned outside of this function
mes "We have successfully summoned the Guardian. We now have our strong force to defend us!";
return 1;