Aenderungen fuer wieder funktionierendes strict_types
- Deklarative Casts hinzugefuegt
- Typen gefixt
Change-Id: I44c6082d907efb241a35da248774809054f8c5ab
diff --git a/std/armour/combat.c b/std/armour/combat.c
index 59d3fdd..b3456bc 100644
--- a/std/armour/combat.c
+++ b/std/armour/combat.c
@@ -60,7 +60,7 @@
prot = (pac/4 + random(pac*3/4 + 1)) || 1 ;
object stat = find_object("/d/erzmagier/zesstra/pacstat");
if (stat)
- stat->acstat(QueryProp(P_ARMOUR_TYPE),prot,
+ ({string})stat->acstat(QueryProp(P_ARMOUR_TYPE),prot,
random(pac)+1);
// ruestungschutz an defendfunc weitermelden
@@ -112,7 +112,7 @@
// Es duerfen nur "legale" Ruestungstypen gesetzt werden, ansonsten
// wird AT_ILLEGAL gesetzt.
static mixed _set_armour_type(mixed type ) {
- if (!COMBAT_MASTER->valid_armour_type(type))
+ if (!({int})COMBAT_MASTER->valid_armour_type(type))
{
Set(P_ARMOUR_TYPE, (type=AT_ILLEGAL), F_VALUE);
}
@@ -213,7 +213,7 @@
// muss der Traeger davon natuerlich beeinflusst werden.
if (objectp(worn_by=QueryProp(P_WORN)))
{
- worn_by->AddResistanceModifier(resistance_strengths,
+ ({int})worn_by->AddResistanceModifier(resistance_strengths,
QueryProp(P_ARMOUR_TYPE));
}
return resistance_strengths;
diff --git a/std/clothing/container_description.c b/std/clothing/container_description.c
index ca0d9c6..3f19e80 100644
--- a/std/clothing/container_description.c
+++ b/std/clothing/container_description.c
@@ -97,7 +97,7 @@
{
string id, tmp;
int idx;
- tmp = capitalize(obj->short()||"")[0..<2]
+ tmp = capitalize(({string})obj->short()||"")[0..<2]
+ (!(flags & 4) && (flags & 1) ? " ["+object_name(obj)+"]" : "");
if(flags & 3 || living(obj)) id = object_name(obj);
else
@@ -125,7 +125,7 @@
mixed objs, info;
string descr;
- iswiz = IS_LEARNER( viewer ) && viewer->QueryProp(P_WANTS_TO_LEARN);
+ iswiz = IS_LEARNER( viewer ) && ({int})viewer->QueryProp(P_WANTS_TO_LEARN);
descr = ""; objs = ({}); info = ({});
map(inv, #'stringenize/*'*/, iswiz | (flags & 2) | (flags & 4), &objs, &info);
if(flags & 1) return info;
diff --git a/std/container/description.c b/std/container/description.c
index 1de834e..cf56803 100644
--- a/std/container/description.c
+++ b/std/container/description.c
@@ -47,16 +47,16 @@
if ( (!(flags & 4) && (flags & 1))) {
//wenn Magier und Magierinfos angehaengt werden sollen:
- tmp = capitalize(obj->short()||"")[0..<2]
+ tmp = capitalize(({string})obj->short()||"")[0..<2]
+ " ["+object_name(obj)+"]";
}
- else if (obj->QueryProp(P_INVIS)) {
+ else if (({int})obj->QueryProp(P_INVIS)) {
//keine Ausgabe bzw. leerer String, wird dann von collect rausgeschmissen
tmp="";
}
else {
//Spieler, Magier ohne P_WANTS_TO_LEARN etc.
- tmp = capitalize(obj->short()||"")[0..<2];
+ tmp = capitalize(({string})obj->short()||"")[0..<2];
}
//wenn wizard und 'dont collect equal objects': id ist object_name()
if(flags & 3 || living(obj))
@@ -90,7 +90,7 @@
int iswiz;
mixed objs, info;
- iswiz = IS_LEARNER( viewer ) && viewer->QueryProp(P_WANTS_TO_LEARN);
+ iswiz = IS_LEARNER( viewer ) && ({int})viewer->QueryProp(P_WANTS_TO_LEARN);
objs = ({}); info = ({});
map(inv, #'stringenize/*'*/, iswiz | (flags & 2) | (flags & 4), &objs, &info);
if(flags & 1) return info;
diff --git a/std/container/items.c b/std/container/items.c
index c27736f..d581425 100644
--- a/std/container/items.c
+++ b/std/container/items.c
@@ -44,7 +44,7 @@
Set(P_ITEMS,({}));
Set(P_ITEMS,SECURED,F_MODE_AS);
- OBJECTD->QueryObject(); // querying general objects
+ ({void})OBJECTD->QueryObject(); // querying general objects
}
protected void create_super()
@@ -121,7 +121,7 @@
if(objectp(ob))
{
- ob->move(ME,M_NOCHECK|M_NO_ATTACK);
+ ({int})ob->move(ME,M_NOCHECK|M_NO_ATTACK);
// mit Absicht keine Pruefung aufs Move, wenns nicht geht, solls 2s
// spaeter auf der Ebene buggen, weil praktisch niemand im create() das
// Ergebnis vom AddItem() prueft.
@@ -160,14 +160,14 @@
foreach(object o : inv)
{
- o->remove(1);
+ ({int})o->remove(1);
if(objectp(o))
{
destruct(o);
}
}
- ob->remove(1);
+ ({int})ob->remove(1);
if(ob)
{
@@ -212,12 +212,12 @@
{
foreach(string fn: &filename)
{
- fn=master()->make_path_absolute(fn);
+ fn=({string})master()->make_path_absolute(fn);
}
}
else
{
- filename=master()->make_path_absolute( filename );
+ filename=({string})master()->make_path_absolute( filename );
}
SetProp(P_ITEMS,filter(items, #'ri_filter/*'*/,filename));
@@ -248,7 +248,7 @@
if(objectp(item[RITEM_OBJECT]) &&
environment(item[RITEM_OBJECT])!=ME)
{
- item[RITEM_OBJECT]->move(ME,M_GO|M_NO_ATTACK);
+ ({int})item[RITEM_OBJECT]->move(ME,M_GO|M_NO_ATTACK);
break;
}
@@ -272,7 +272,7 @@
ob=clone_object(file);
}
- ob->move(ME,M_NOCHECK|M_NO_ATTACK);
+ ({int})ob->move(ME,M_NOCHECK|M_NO_ATTACK);
break;
}
diff --git a/std/container/light.c b/std/container/light.c
index 24a2bf4..2b34de8 100644
--- a/std/container/light.c
+++ b/std/container/light.c
@@ -78,7 +78,7 @@
// eigenes P_LIGHT und P_TOTAL_LIGHT der enthaltenen Objekte verrechnen
int intlight = add_light_sources(
- all_inventory()->QueryProp(P_TOTAL_LIGHT) + ({QueryProp(P_LIGHT)}));
+ ({int*})all_inventory()->QueryProp(P_TOTAL_LIGHT) + ({QueryProp(P_LIGHT)}));
// P_INT_LIGHT (gerundet) abspeichern
Set(P_INT_LIGHT, intlight, F_VALUE);
diff --git a/std/container/restrictions.c b/std/container/restrictions.c
index 30b8df1..68329df 100644
--- a/std/container/restrictions.c
+++ b/std/container/restrictions.c
@@ -111,7 +111,7 @@
public int MayAddObject( object ob )
{
if (ob) {
- if ( !ob->short() )
+ if ( !({string})ob->short() )
return 1; // invis-Objekte duerfen immer
if ( ob == ME || environment(ob) == ME)
@@ -162,7 +162,7 @@
// Container kann Gewicht nicht mehr aufnehmen
return -1;
- if ( aw && ENV()->MayAddWeight(aw) < 0 )
+ if ( aw && ({int})ENV()->MayAddWeight(aw) < 0 )
// Umgebung des Containers kann Gewicht nicht mehr aufnehmen
return -2;
@@ -290,7 +290,7 @@
case "eigenes":
case "meins":
if (objectp(haufen=present("\nhaufen "+
- this_player()->name(WEM)))) {
+ ({string})this_player()->name(WEM)))) {
obs = all_inventory(haufen);
}
// kein break;, Fall-through!
@@ -384,7 +384,7 @@
case "meins":
case "alles eigene":
if (objectp(haufen=present("\nhaufen "+
- this_player()->name(WEM)))) {
+ ({string})this_player()->name(WEM)))) {
obs = all_inventory(haufen);
}
// kein break;, Fall-through!
@@ -449,7 +449,7 @@
// bestimmten ID (im Gegensatz zu "alles", "jede waffe" etc.)
// soll ein Item gefunden werden, auch wenn die Short 0 ist
// (unsichtbar, aber interagierbar).
- else if ( ob && ob != ME && !ob->QueryProp(P_INVIS) )
+ else if ( ob && ob != ME && !({int})ob->QueryProp(P_INVIS) )
erg += ({ ob }); //Normalfall: einzelne ID
continue;
diff --git a/std/container/vitems.c b/std/container/vitems.c
index ad86d52..ca50dc2 100644
--- a/std/container/vitems.c
+++ b/std/container/vitems.c
@@ -57,10 +57,10 @@
// Es wird auch zerstoert, wenn das genommene Objekt gerade im Raum
// rumliegt (weil Spieler es hat fallen lassen etc.)
if (vitems[key, VI_OBJECT])
- vitems[key, VI_OBJECT]->remove(1);
+ ({int})vitems[key, VI_OBJECT]->remove(1);
if (vitems[key, VI_LAST_OBJ]
&& environment(vitems[key, VI_LAST_OBJ]) == this_object())
- vitems[key, VI_LAST_OBJ]->remove(1);
+ ({int})vitems[key, VI_LAST_OBJ]->remove(1);
m_delete(vitems, key);
SetProp(P_VITEMS, vitems);
@@ -123,39 +123,39 @@
switch(k)
{
case P_READ_DETAILS:
- if (reset_prop) ob->RemoveReadDetail(0);
+ if (reset_prop) ({void})ob->RemoveReadDetail(0);
walk_mapping(v, "AddReadDetail", ob);
break;
case P_DETAILS:
- if (reset_prop) ob->RemoveDetail(0);
+ if (reset_prop) ({void})ob->RemoveDetail(0);
walk_mapping(v, "AddDetail", ob);
break;
case P_SMELLS:
- if (reset_prop) ob->RemoveSmells(0);
+ if (reset_prop) ({void})ob->RemoveSmells(0);
walk_mapping(v, "AddSmells", ob);
break;
case P_SOUNDS:
- if (reset_prop) ob->RemoveSounds(0);
+ if (reset_prop) ({void})ob->RemoveSounds(0);
walk_mapping(v, "AddSounds", ob);
break;
case P_TOUCH_DETAILS:
- if (reset_prop) ob->RemoveTouchDetail(0);
+ if (reset_prop) ({void})ob->RemoveTouchDetail(0);
walk_mapping(v, "AddTouchDetail", ob);
break;
case P_IDS:
- if (reset_prop) ob->SetProp(P_IDS, v);
- else ob->AddId(v);
+ if (reset_prop) ({string*})ob->SetProp(P_IDS, v);
+ else ({void})ob->AddId(v);
case P_CLASS:
- if (reset_prop) ob->SetProp(P_CLASS, v);
- else ob->AddClass(v);
+ if (reset_prop) ({string*})ob->SetProp(P_CLASS, v);
+ else ({void})ob->AddClass(v);
case P_ADJECTIVES:
- if (reset_prop) ob->SetProp(P_ADJECTIVES, v);
- else ob->AddAdjective(v);
+ if (reset_prop) ({string*})ob->SetProp(P_ADJECTIVES, v);
+ else ({void})ob->AddAdjective(v);
break;
// Alle anderen Properties stumpf setzen.
default:
- ob->SetProp(k, v);
+ ({mixed})ob->SetProp(k, v);
}
}
}
@@ -188,13 +188,13 @@
if (path)
{
obj=clone_object(path);
- obj->SetAutoObject(1);
+ ({int})obj->SetAutoObject(1);
if (mappingp(props))
configure_object(obj, props);
// Schatten erzeugen, welcher die Beschreibung des Objekts im Container nach
// den Props in shadow_props abaendert.
sh = clone_object("/obj/vitem_shadow");
- sh->set_shadow(obj, shadow_props);
+ ({void})sh->set_shadow(obj, shadow_props);
}
else
{
@@ -227,7 +227,7 @@
{
foreach(object o : GetVItemClones())
{
- if (o->id(complex_desc))
+ if (({int})o->id(complex_desc))
return o;
}
return 0;
@@ -297,7 +297,7 @@
// wird es immer refresht...
// Zu beachten: es soll auch nicht hier in diesem Container rumliegen
// nach dem Heimbewegen, also zerstoeren!
- last_obj->remove(1);
+ ({int})last_obj->remove(1);
// Fallthrough
case VI_REFRESH_REMOVE:
// wenn nicht mehr als vItem hier ist (d.h. auch wenn es hier im Raum
diff --git a/std/corpse.c b/std/corpse.c
index 5025ad8..05d6424 100644
--- a/std/corpse.c
+++ b/std/corpse.c
@@ -95,8 +95,8 @@
SetProp( P_SHORT, "Die Leiche "+ _name );
SetProp( P_LONG, "Du siehst die sterblichen Ueberreste "+ _name + ".\n" );
_decay = 4;
- SetProp( P_ORIG_NAME, to_string(ob->name(RAW)) );
- SetProp( P_PILE_NAME, to_string(ob->name(WEM)) );
+ SetProp( P_ORIG_NAME, ({string})ob->name(RAW) );
+ SetProp( P_PILE_NAME, ({string})ob->name(WEM) );
AddId( "\nleiche "+ QueryProp(P_PILE_NAME) );
SetProp( P_KILLER, ({<object|string>})funcall(cl, P_KILLER));
SetProp( P_ATTRIBUTES, ({mapping})funcall(cl, P_ATTRIBUTES));
@@ -256,10 +256,10 @@
heal = heal * wieviel / nahrung_gesamt;
if ( ( heal ) < 0 ) {
//
- this_player()->do_damage( random(-heal), this_object() );
+ ({int})this_player()->do_damage( random(-heal), this_object() );
msg = "Buah, diese Leiche war zweifellos nicht besonders gesund.\n";
} else {
- this_player()->heal_self( random(heal) );
+ ({int})this_player()->heal_self( random(heal) );
msg = "Hmmm, lecker!\n";
}
return msg;
@@ -274,7 +274,7 @@
if ( !str || !id(str) )
return 0;
- if (this_player()->QueryProp(P_GHOST))
+ if (({int})this_player()->QueryProp(P_GHOST))
{
_notify_fail("Das wuerde durch Dich hindurch fallen.\n");
return 0;
@@ -290,7 +290,7 @@
write("Du bekommst von der Leiche nicht einen Bissen mehr runter.\n");
} else if (gegessen >= nahrung_aktuell) {
// spieler kann die gesamte Leiche essen, also entfernen.
- this_player()->eat_food(nahrung_aktuell);
+ ({int})this_player()->eat_food(nahrung_aktuell);
// Verdammt. eat_food() kann TP umgebracht haben und im Falle eines NPC
// ist der dann weg.
if (objectp(this_player())) {
@@ -303,7 +303,7 @@
remove();
} else {
// Auch teilweise Verspeisung ist moeglich, nahrung_aktuell anpassen
- this_player()->eat_food(gegessen);
+ ({int})this_player()->eat_food(gegessen);
if (objectp(this_player())) {
write(mampf_heilung(gegessen)+"Leider bist Du nicht in der Lage,"
" alles aufzuessen.\n");
@@ -342,15 +342,15 @@
switch ( str[0] )
{
case ':':
- "/std/corpse"->ChannelMessageJeer( PL, str[1..], MSG_EMOTE );
+ ({void})"/std/corpse"->ChannelMessageJeer( PL, str[1..], MSG_EMOTE );
break;
case ';':
- "/std/corpse"->ChannelMessageJeer( PL, str[1..], MSG_GEMOTE );
+ ({void})"/std/corpse"->ChannelMessageJeer( PL, str[1..], MSG_GEMOTE );
break;
default:
- "/std/corpse"->ChannelMessageJeer( PL, str, MSG_SAY );
+ ({void})"/std/corpse"->ChannelMessageJeer( PL, str, MSG_SAY );
break;
}
@@ -364,7 +364,7 @@
void ChannelMessageJeer( mixed sender, string text, int flag )
{
if (member(inherit_list(previous_object()),CORPSE_OBJ)>-1)
- CHMASTER->send( "Moerder", sender, text, flag );
+ ({int})CHMASTER->send( "Moerder", sender, text, flag );
}
@@ -703,7 +703,7 @@
if ( stringp(msg) )
msg = sprintf( msg, killer || "Moerder" );
- CHMASTER->send( "Moerder", this_object(), funcall(msg) );
+ ({int})CHMASTER->send( "Moerder", this_object(), funcall(msg) );
rueck = previous_object(i);
}
@@ -717,12 +717,12 @@
}
void transform_into_pile() {
- if( environment()->QueryProp(P_PREVENT_PILE) ) return;
+ if( ({int})environment()->QueryProp(P_PREVENT_PILE) ) return;
object* inv = all_inventory();
if( sizeof(inv)<2 ) return;
object p = clone_object(PILE_OBJ);
filter_objects( inv, "move", p, M_SILENT | M_NOCHECK );
- p->move( environment(), M_SILENT | M_NOCHECK );
+ ({int})p->move( environment(), M_SILENT | M_NOCHECK );
}
// Verhindert die Zerstoerung im reset() von Containern, die mit
diff --git a/std/gilden_ob.c b/std/gilden_ob.c
index 7b0a565..3435ba4 100644
--- a/std/gilden_ob.c
+++ b/std/gilden_ob.c
@@ -57,7 +57,7 @@
if (intp(cond)) {
_notify_fail("Dir fehlt noch die noetige Erfahrung. "+
"Komm spaeter wieder.\n");
- return (this_player()->QueryProp(P_XP)>=cond);
+ return (({int})this_player()->QueryProp(P_XP)>=cond);
}
if (mappingp(cond)) {
res=check_restrictions(this_player(),cond);
@@ -98,19 +98,19 @@
if (mappingp(ti))
ti=ti[lv];
if (stringp(ti))
- pl->SetProp(P_GUILD_TITLE,ti);
+ ({string})pl->SetProp(P_GUILD_TITLE,ti);
// Spielertitel nullen, damit der Gildentitel angezeigt wird.
if (!IS_SEER(pl) && !FAO_HAS_TITLE_GIFT(pl))
- pl->SetProp(P_TITLE,0);
+ ({string})pl->SetProp(P_TITLE,0);
}
void do_advance() {
int lv;
- lv=this_player()->QueryProp(P_GUILD_LEVEL)+1;
+ lv=({int})this_player()->QueryProp(P_GUILD_LEVEL)+1;
if (lv<1) lv=1;
- this_player()->SetProp(P_GUILD_LEVEL,lv);
+ ({int})this_player()->SetProp(P_GUILD_LEVEL,lv);
adjust_title(this_player());
}
@@ -135,7 +135,7 @@
if (erg=({int})GUILDMASTER->beitreten()) {
if (erg<0)
return erg;
- if (!(this_player()->QueryProp(P_GUILD_LEVEL)))
+ if (!(({int})this_player()->QueryProp(P_GUILD_LEVEL)))
try_advance(); // Level 1 wird sofort vergeben
return 1;
}
@@ -369,7 +369,7 @@
spell=lower_case(spell);
if (!(ski=QuerySpell(spell)))
return 0;
- if (pl->QuerySkill(spell)) {
+ if (({mapping})pl->QuerySkill(spell)) {
_notify_fail("Du kannst diesen Spruch doch schon!\n");
return 0;
}
@@ -384,7 +384,7 @@
write("Du lernst einen neuen Zauberspruch.\n");
if (!(diff=GetFValueO(SI_DIFFICULTY,ski,pl)))
diff=GetFValueO(SI_SPELLCOST,ski,pl);
- pl->ModifySkill(spell,abil,diff);
+ ({void})pl->ModifySkill(spell,abil,diff);
return 1;
}
@@ -406,7 +406,7 @@
skill=capitalize(skill);
if (!(ski=QuerySkill(skill)))
return 0;
- if (pl->QuerySkill(skill)) {
+ if (({mapping})pl->QuerySkill(skill)) {
_notify_fail("Du hast diese Faehigkeit doch schon!\n");
return 0;
}
@@ -421,7 +421,7 @@
if (abil<-MAX_ABILITY) abil=-MAX_ABILITY;
write("Du erwirbst eine neue Faehigkeit.\n");
diff=GetFValueO(SI_DIFFICULTY,ski,pl);
- pl->ModifySkill(skill,abil,diff);
+ ({void})pl->ModifySkill(skill,abil,diff);
return 1;
}
diff --git a/std/lightsource.c b/std/lightsource.c
index 129121d..f45d510 100644
--- a/std/lightsource.c
+++ b/std/lightsource.c
@@ -123,7 +123,7 @@
// Der Zweck heiligt ja bekanntlich die Mittel. ;-)
//
// Tiamak
- env->_set_last_content_change();
+ ({int})env->_set_last_content_change();
call_time = (fuel < CALL_OUT_TIME)? fuel : CALL_OUT_TIME ;
call_out( "out_of_fuel", call_time ) ;
if( ({int})PL->QueryProp(P_PLAYER_LIGHT) == 1 )
@@ -171,7 +171,7 @@
// Der Zweck heiligt ja bekanntlich die Mittel. ;-)
//
// Tiamak
- env->_set_last_content_change();
+ ({int})env->_set_last_content_change();
if ( ({int})this_player()->QueryProp(P_PLAYER_LIGHT) == 0 )
{
write( "Es wird dunkel.\n" ) ;
@@ -196,6 +196,7 @@
if( !lighted )
return FALSE ;
+
if( ( ti = remove_call_out( "out_of_fuel" ) ) == -1 )
ti = 0 ;
@@ -204,7 +205,7 @@
env=this_object();
while (objectp(env=environment(env)))
// Kommentar siehe oben ;^)
- env->_set_last_content_change();
+ ({int})env->_set_last_content_change();
if( fuel <= 0 ) test_remove() ;
return TRUE ;
}
@@ -224,7 +225,7 @@
env=this_object();
while (objectp(env=environment(env)))
// Immer noch nicht wirklich sauber. Aber Begruendung siehe oben.
- env->_set_last_content_change();
+ ({int})env->_set_last_content_change();
if (environment())
{
@@ -232,11 +233,11 @@
{
inv=(users() & all_inventory(environment(environment())))-({ environment() });
for (i=sizeof(inv)-1; i>=0; i--)
- if (inv[i]->QueryProp(P_PLAYER_LIGHT)<=0)
- tell_object(inv[i], "Es wird dunkel, als " + environment()->name(WESSEN) +
+ if (({int})inv[i]->QueryProp(P_PLAYER_LIGHT)<=0)
+ tell_object(inv[i], "Es wird dunkel, als " + ({string})environment()->name(WESSEN) +
" " + QueryProp(P_NAME) + " erlischt.\n" ) ;
else tell_object(inv[i], CAP( name( WER, 0 ) ) + " erlischt.\n" ) ;
- if (environment()->QueryProp(P_PLAYER_LIGHT)<=0)
+ if (({int})environment()->QueryProp(P_PLAYER_LIGHT)<=0)
tell_object(environment(),
CAP( name( WER, 1 ) ) + " erlischt, und es wird dunkel.\n" ) ;
else tell_object(environment(), CAP( name( WER, 1 ) ) + " erlischt.\n" ) ;
@@ -245,7 +246,7 @@
{
inv=(users() & all_inventory(environment()));
for (i=sizeof(inv)-1; i>=0; i--)
- if (inv[i]->QueryProp(P_PLAYER_LIGHT)<=0)
+ if (({int})inv[i]->QueryProp(P_PLAYER_LIGHT)<=0)
tell_object(inv[i], "Es wird dunkel, als " + name(WER,1)
+ " erlischt.\n" ) ;
else tell_object(inv[i], CAP( name( WER, 0 ) ) + " erlischt.\n" ) ;
diff --git a/std/living/life.c b/std/living/life.c
index 7feb2c2..554a702 100644
--- a/std/living/life.c
+++ b/std/living/life.c
@@ -140,7 +140,7 @@
// ---------------------------------------
// 2
//
- object *inv = enemy->TeamMembers();
+ object *inv = ({object*})enemy->TeamMembers();
if ( pointerp(inv) )
{
present_enemies=m_allocate(sizeof(inv), 1);
@@ -179,7 +179,7 @@
}
if ( !total_damage )
{
- enemy->AddExp(exp_to_give);
+ ({int})enemy->AddExp(exp_to_give);
}
else
{
@@ -216,15 +216,15 @@
&& living(enemy)
&& !QueryProp(P_ENABLE_IN_ATTACK_OUT))
{
- al=time()-enemy->QueryProp(P_LAST_MOVE);
+ al=time()-({int})enemy->QueryProp(P_LAST_MOVE);
if (al<3) // Erste Kampfrunde nach Betreten des Raumes?
dam/=(4-al); // Gegen Rein-Feuerball-Raus-Taktik
}
if ( QueryProp(P_GHOST) || QueryProp(P_NO_ATTACK) || (dam<=0)
|| ( objectp(enemy)
- && ( enemy->QueryProp(P_GHOST)
- || enemy->QueryProp(P_NO_ATTACK) ) ) )
+ && ( ({int})enemy->QueryProp(P_GHOST)
+ || ({int|string})enemy->QueryProp(P_NO_ATTACK) ) ) )
return 0;
hit_point = QueryProp(P_HP)-dam;
@@ -232,7 +232,7 @@
if ( QueryProp(P_XP) && objectp(enemy) )
{
if ( !QueryProp(P_NO_XP) )
- enemy->AddExp(dam*({int})QueryProp(P_TOTAL_WC)/10);
+ ({int})enemy->AddExp(dam*({int})QueryProp(P_TOTAL_WC)/10);
}
if (living(enemy)) {
@@ -246,7 +246,7 @@
// nur wenn gegner NPC ist und noch nicht drinsteht: Daten aus
// P_HELPER_NPC auswerten
if (!member(enemy_damage,enemy) && !query_once_interactive(enemy)) {
- mixed helper = enemy->QueryProp(P_HELPER_NPC);
+ mixed helper = ({mixed})enemy->QueryProp(P_HELPER_NPC);
if (pointerp(helper) && objectp(helper[0]))
enemy_damage[enname,1] = helper[0];
}
@@ -260,7 +260,7 @@
//TODO: Warum nicht das ganze Zeug ins die() verlegen?
if ( enemy )
{
- enemy->StopHuntFor(ME,1);
+ ({int})enemy->StopHuntFor(ME,1);
if ( !QueryProp(P_NO_XP) )
DistributeExp(enemy,QueryProp(P_XP)/100);
if ( !query_once_interactive(ME) )
@@ -268,13 +268,13 @@
"[%s] %s, XP: %d, HP*WC: %d, Killer: %s\n",
dtime(time()), object_name(ME), (QueryProp(P_XP)/100),
QueryProp(P_TOTAL_WC)*QueryProp(P_MAX_HP)/10,
- enemy->name()||"NoName" ));
- al = QueryProp(P_ALIGN)/50 + enemy->QueryProp(P_ALIGN)/200;
+ ({string})enemy->name()||"NoName" ));
+ al = QueryProp(P_ALIGN)/50 + ({int})enemy->QueryProp(P_ALIGN)/200;
if (al>20)
al=20;
else if(al<-20)
al=-20;
- enemy->SetProp(P_ALIGN,enemy->QueryProp(P_ALIGN)-al);
+ ({int})enemy->SetProp(P_ALIGN,({int})enemy->QueryProp(P_ALIGN)-al);
}
SetProp(P_KILLER, enemy);
@@ -296,10 +296,10 @@
// Pruefung auf zerstoerte Objekte, da einige sich evtl. im NotifyPlayerDeath()
// zerstoeren.
while ( i && get_eval_cost() > 300000 )
- if ( objectp(obs[--i]) && !obs[i]->QueryProp(P_NEVERDROP) )
+ if ( objectp(obs[--i]) && !({int})obs[i]->QueryProp(P_NEVERDROP) )
// Jetzt wird's noch etwas teurer mit catch() - aber manche Sachen
// duerfen einfach nicht buggen
- catch( obs[i]->move( dest, flag );publish );
+ catch( ({int})obs[i]->move( dest, flag );publish );
if ( i > 0 )
// Zuviel Rechenzeit verbraten, es muessen noch Objekte bewegt werden
@@ -359,7 +359,7 @@
return 0;
while (killer && !query_once_interactive(killer))
- killer = killer->QueryUser();
+ killer = ({object})killer->QueryUser();
return killer;
}
@@ -374,9 +374,9 @@
mixed *fr;
int i,j,sz;
- if ( pointerp(obs=pl->TeamMembers()) && (member(obs,pl)>=0) )
+ if ( pointerp(obs=({object*})pl->TeamMembers()) && (member(obs,pl)>=0) )
{
- if ( !pointerp(fr=pl->PresentTeamRows())
+ if ( !pointerp(fr=({mixed})pl->PresentTeamRows())
|| !sizeof(fr)
|| !pointerp(fr=fr[0])) // Erste Reihe des Teams
fr=({});
@@ -413,11 +413,11 @@
&& query_idle(ob)<600 // gegen Leute die sich nur mitschleppen lassen
&& environment(ob)==environment(pl) // Nur anwesende Teammitglieder
&& !IS_LEARNER(ob)
-// && !ob->QueryProp(P_TESTPLAYER)
- && !(SCOREMASTER->HasKill(ob,ME)) )
- return SCOREMASTER->GiveKill(ob,npcnum),ob;
+// && !({int|string})ob->QueryProp(P_TESTPLAYER)
+ && !(({int})SCOREMASTER->HasKill(ob,ME)) )
+ return ({int})SCOREMASTER->GiveKill(ob,npcnum),ob;
- return SCOREMASTER->GiveKill(pl,npcnum),pl;
+ return ({int})SCOREMASTER->GiveKill(pl,npcnum),pl;
}
// zum ueberschreiben in Spielern
@@ -452,7 +452,7 @@
&& intp(res[0]) && time()<res[0]
&& objectp(res[1]) && stringp(res[2]) )
{
- if ( res = call_other( res[1], res[2], poisondeath ) ) {
+ if ( res = ({mixed})call_other( res[1], res[2], poisondeath ) ) {
SetProp(P_KILLER,0);
return;
}
@@ -503,12 +503,12 @@
ctime(time()),
capitalize(getuid(killer)),
query_wiz_level(killer),
- killer->QueryProp(P_LEVEL),
+ ({int})killer->QueryProp(P_LEVEL),
capitalize(getuid(ME)),
query_wiz_level(ME),
QueryProp(P_LEVEL) ) );
- killer->SetProp( P_KILLS, -1 );
+ ({int})killer->SetProp( P_KILLS, -1 );
}
}
@@ -521,18 +521,18 @@
if ( killer && query_once_interactive(killer) )
{
- if (stringp(res=killer->QueryProp(P_GUILD))
+ if (stringp(res=({string})killer->QueryProp(P_GUILD))
&& objectp(res=find_object("/gilden/"+res)))
- res->NPC_Killed_By(killer);
+ ({void})res->NPC_Killed_By(killer);
if (environment())
- environment()->NPC_Killed_By(killer);
+ ({void})environment()->NPC_Killed_By(killer);
res = QueryProp(P_XP);
res = (res < SCORE_LOW_MARK) ? 0 : ((res > SCORE_HIGH_MARK) ? 2 : 1);
if ( !QueryProp(P_NO_SCORE) && !IS_LEARNER(killer) &&
// !killer->QueryProp(P_TESTPLAYER) &&
- pointerp( res = SCOREMASTER->QueryNPC(res)) )
+ pointerp( res = ({mixed})SCOREMASTER->QueryNPC(res)) )
GiveKillScore( killer, res[0] );
}
}
@@ -570,8 +570,8 @@
else
// sonst in die Leiche legen.
{
- corpse->Identify(ME);
- corpse->move( environment(), M_NOCHECK|M_SILENT );
+ ({void})corpse->Identify(ME);
+ ({int})corpse->move( environment(), M_NOCHECK|M_SILENT );
// Magier oder Testspieler behalten ihre Ausruestung.
// Sonst kaemen u.U. Spieler an Magiertools etc. heran
if ( !(IS_LEARNER(ME) || (tmp = Query(P_TESTPLAYER)) &&
@@ -585,7 +585,7 @@
if ( query_once_interactive(ME) ) {
Set( P_DEADS, Query(P_DEADS) + 1 );
// Spieler-Tod-event ausloesen
- EVENTD->TriggerEvent(EVT_LIB_PLAYER_DEATH, ([
+ ({int})EVENTD->TriggerEvent(EVT_LIB_PLAYER_DEATH, ([
E_OBJECT: ME, E_PLNAME: getuid(ME),
E_ENVIRONMENT: environment(), E_TIME: time(),
P_KILLER: QueryProp(P_KILLER),
@@ -617,8 +617,8 @@
P_RACE: QueryProp(P_RACE),
P_CLASS: QueryProp(P_CLASS),
]);
- EVENTD->TriggerEvent(EVT_LIB_NPC_DEATH(""), data);
- EVENTD->TriggerEvent(
+ ({int})EVENTD->TriggerEvent(EVT_LIB_NPC_DEATH(""), data);
+ ({int})EVENTD->TriggerEvent(
EVT_LIB_NPC_DEATH(load_name(ME)), data);
}
@@ -768,11 +768,11 @@
log_file("REDUCE_HP", name()+" by ");
if(!this_player()) log_file("REDUCE_HP","?\n");
else {
- log_file("REDUCE_HP",this_player()->name());
+ log_file("REDUCE_HP",({string})this_player()->name());
o=previous_object();
if (o)
log_file("REDUCE_HP", " " + object_name(o) + ", " +
- o->name(WER,0) + " (" + creator(o) + ")\n");
+ ({string})o->name(WER,0) + " (" + creator(o) + ")\n");
else
log_file("REDUCE_HP", " ??\n");
}
@@ -1023,10 +1023,10 @@
// Gilde und Environment informieren ueber Alkoholauswirkung.
if ( stringp(gilde = QueryProp(P_GUILD))
&& objectp(ob = find_object( "/gilden/" + gilde )) )
- ob->InformAlcoholEffect( ME, n, ALC_EFFECT_AREA_GUILD );
+ ({void})ob->InformAlcoholEffect( ME, n, ALC_EFFECT_AREA_GUILD );
if ( environment() )
- environment()->InformAlcoholEffect( ME, n, ALC_EFFECT_AREA_ENV );
+ ({void})environment()->InformAlcoholEffect( ME, n, ALC_EFFECT_AREA_ENV );
}
// Alkohol abbauen und etwas extra heilen, falls erlaubt.
diff --git a/std/living/moving.c b/std/living/moving.c
index 78a1cf5..52d2b80 100644
--- a/std/living/moving.c
+++ b/std/living/moving.c
@@ -51,7 +51,7 @@
return;
SetProp(P_PURSUERS,({ pur[0], pur[1]+({ob})-({0}) }));
- ob->_SetPursued(ME);
+ ({void})ob->_SetPursued(ME);
}
public void RemovePursuer(object ob)
@@ -63,7 +63,7 @@
{
pur[1]-=({ob,0});
if (ob)
- ob->_RemovePursued(ME);
+ ({void})ob->_RemovePursued(ME);
if (!pur[0]&&!sizeof(pur[1]))
pur=0;
SetProp(P_PURSUERS,pur);
@@ -78,7 +78,7 @@
pur=({0,({})});
else
if (objectp(pur[0]))
- pur[0]->RemovePursuer(ME);
+ ({void})pur[0]->RemovePursuer(ME);
pur[0]=ob;
pur[1]-=({0});
Set(P_PURSUERS,pur);
@@ -100,10 +100,10 @@
private void kampfende( object en ) {
if (!objectp(en)) return;
- tell_object( ME, capitalize(en->name()) +
+ tell_object( ME, capitalize(({string})en->name()) +
" ist jetzt hinter Dir her.\n" );
tell_object( en, "Du verfolgst jetzt " + name(WEN) + ".\n" );
- en->InsertSingleEnemy(ME);
+ ({int})en->InsertSingleEnemy(ME);
}
private int _is_learner(object pl) {
@@ -120,9 +120,9 @@
if ((method&M_NOCHECK)) {
// erst PreventLeaveLiving() rufen...
if(environment())
- environment()->PreventLeaveLiving(this_object(), dest);
+ ({int})environment()->PreventLeaveLiving(this_object(), dest);
// dann PreventInsertLiving() im Ziel-Env.
- dest->PreventInsertLiving(this_object());
+ ({int})dest->PreventInsertLiving(this_object());
// und raus...
return(0);
}
@@ -139,17 +139,17 @@
// alte und neue Umgebung auf NO_TPORT pruefen.
if ( (method & M_TPORT) ) {
if ( environment() &&
- (environment()->QueryProp(P_NO_TPORT) & (NO_TPORT_OUT|NO_TPORT)) )
+ (({int})environment()->QueryProp(P_NO_TPORT) & (NO_TPORT_OUT|NO_TPORT)) )
return ME_CANT_TPORT_OUT;
- else if ( dest->QueryProp(P_NO_TPORT) & (NO_TPORT_IN|NO_TPORT) )
+ else if ( ({int})dest->QueryProp(P_NO_TPORT) & (NO_TPORT_IN|NO_TPORT) )
return ME_CANT_TPORT_IN;
}
// erst PreventLeaveLiving() testen...
- if( environment() && environment()->PreventLeaveLiving(this_object(), dest))
+ if( environment() && ({int})environment()->PreventLeaveLiving(this_object(), dest))
return ME_CANT_LEAVE_ENV;
// dann PreventInsertLiving() im Ziel-Env
- if (dest->PreventInsertLiving(this_object()))
+ if (({int})dest->PreventInsertLiving(this_object()))
return ME_CANT_BE_INSERTED;
return 0;
@@ -178,7 +178,7 @@
&& objectp(ME)
&& QueryProp(P_TEAM_AUTOFOLLOW)
&& objectp( enem = IsTeamLeader() ) )
- enem->StartFollow(oldenv); // Teamverfolgung
+ ({void})enem->StartFollow(oldenv); // Teamverfolgung
}
@@ -227,7 +227,7 @@
!catch(tmp=({int})call_other(vc,"QueryValidObject",fn);
publish) && tmp>0)) &&
!catch(load_object(fn);publish) )) &&
- (!interactive(ME) || !fn->QueryProp(P_NO_PLAYERS) ||
+ (!interactive(ME) || !({int})fn->QueryProp(P_NO_PLAYERS) ||
(method & M_NOCHECK) || IS_LEARNER(ME) ||
(stringp(res = QueryProp(P_TESTPLAYER)) &&
IS_LEARNER( lower_case(res) ))) )
@@ -248,7 +248,7 @@
if ( pointerp(res) && sizeof(res) >= 3
&& intp(res[0]) && time()<res[0]
&& objectp(res[1]) && stringp(res[2]) ){
- if ( res = call_other( res[1], res[2], dest, method, direction,
+ if ( res = ({mixed})call_other( res[1], res[2], dest, method, direction,
textout, textin ) ){
if ( pointerp(res) && sizeof(res) == 5 ){
dest = res[0];
@@ -352,7 +352,7 @@
filter((QueryEnemies()[0] & all_inventory(oldenv))-({0}),
#'kampfende);
// Bugs im exit() sind ohne catch() einfach mist.
- catch(environment()->exit(ME, dest);publish);
+ catch(({void})environment()->exit(ME, dest);publish);
}
}
@@ -429,11 +429,11 @@
if (objectp(follower) && environment(follower)!=env) {
//meth=M_NOCHECK;
meth=M_GO;
- if (follower->Query(P_FOLLOW_SILENT))
+ if (({int})follower->Query(P_FOLLOW_SILENT))
meth|=M_SILENT|M_NO_SHOW;
- catch(r=follower->PreventFollow(env);publish);
+ catch(r=({int})follower->PreventFollow(env);publish);
if (!r)
- follower->move(env,meth);
+ ({int})follower->move(env,meth);
else if (r==2)
RemovePursuer(follower);
}
@@ -446,9 +446,9 @@
if (environment())
{
if ( objectp(team=Query(P_TEAM)) )
- catch(team->RemoveMember(ME);publish);
+ catch(({int})team->RemoveMember(ME);publish);
- environment()->NotifyRemove(ME);
+ ({void})environment()->NotifyRemove(ME);
}
destruct(ME);
return 1;
diff --git a/std/living/skills.c b/std/living/skills.c
index b9b7bfe..f7077a6 100644
--- a/std/living/skills.c
+++ b/std/living/skills.c
@@ -116,14 +116,14 @@
return 1; // Die sollten problemlos aendern duerfen
if ( file_size("/gilden/access_rights")>0
- && call_other("/gilden/access_rights",
+ && ({int})call_other("/gilden/access_rights",
"access_rights",
getuid(previous_object()),
gilde+".c"))
return 1; // Setzendes Objekt kommt vom Gildenprogrammierer
if ( file_size("/gilden/"+gilde+".c")>0
- && call_other("/gilden/"+gilde,
+ && ({int})call_other("/gilden/"+gilde,
"valid_setskills",
explode(fn,"#")[0]) )
return 1; // Die Gilde selber kann Ausnahmen zulassen
@@ -140,7 +140,7 @@
if ( IS_ARCH(this_interactive()) )
return 1; // Erzmagier duerfen immer aendern
- if ( call_other("/gilden/access_rights",
+ if ( ({int})call_other("/gilden/access_rights",
"access_rights",
getuid(this_interactive()),
gilde+".c"))
@@ -159,7 +159,7 @@
this_interactive(),
gilde,
( this_interactive() ? query_verb() + " " +
- this_interactive()->_unparsed_args() : "") ));
+ ({string})this_interactive()->_unparsed_args() : "") ));
return 0;
}
diff --git a/std/player/skills.c b/std/player/skills.c
index cdac73e..390ad77 100644
--- a/std/player/skills.c
+++ b/std/player/skills.c
@@ -47,7 +47,7 @@
foreach(string guild:
({string *})call_other(GUILDMASTER,"QueryProp",P_VALID_GUILDS))
{
- if(catch(act=call_other("/gilden/"+guild,"QueryProp",
+ if(catch(act=({mapping})call_other("/gilden/"+guild,"QueryProp",
P_GUILD_DEACTIVATE_SKILLS); publish ))
log_file("WEAPON_SKILLS", sprintf ("%s: Gilde nicht ladbar: "
+"TP: %O, TI: %O, PO: %O, Gilde: %s\n", dtime(time()),
@@ -223,10 +223,10 @@
WT_SPEAR : 6,
WT_CLUB : 1,
WT_WHIP : 9,
- WT_STAFF : 7])[sinfo[P_WEAPON]->QueryProp(P_WEAPON_TYPE)];
+ WT_STAFF : 7])[({string})sinfo[P_WEAPON]->QueryProp(P_WEAPON_TYPE)];
- val = sinfo[SI_SKILLABILITY]*(sinfo[P_WEAPON]->QueryProp(P_WC)*
+ val = sinfo[SI_SKILLABILITY]*(({int})sinfo[P_WEAPON]->QueryProp(P_WC)*
(w*QueryAttribute(A_DEX)+
(10-w)*QueryAttribute(A_STR))/700)
/MAX_ABILITY;
@@ -239,7 +239,7 @@
previous_object(), val,
QueryAttribute(A_DEX),
QueryAttribute(A_STR), sinfo[P_WEAPON],
- sinfo[P_WEAPON]->QueryProp(P_WC)));
+ ({int})sinfo[P_WEAPON]->QueryProp(P_WC)));
val = 85;
}
@@ -276,7 +276,7 @@
|| (!random(300) && sinfo[SI_SKILLABILITY]<MAX_ABILITY))
{
enemy=sinfo[SI_ENEMY];
- if (objectp(enemy) && (enemy->QueryProp(P_XP)>0))
+ if (objectp(enemy) && (({int})enemy->QueryProp(P_XP)>0))
{
object ausbilder;
// log_file("humni/log_wurm","Haut: %s und zwar %s, mit xp %d\n",geteuid(this_object()),to_string(enemy),enemy->QueryProp(P_XP));
@@ -293,7 +293,7 @@
object waf_aus,waf_azu;
waf_azu=QueryProp(P_WEAPON);
- waf_aus=call_other(ausbilder,"QueryProp",P_WEAPON);
+ waf_aus=({object})call_other(ausbilder,"QueryProp",P_WEAPON);
//wt_azu=call_other(waf_azu,"QueryProp",P_WEAPON_TYPE);
//wt_aus=call_other(waf_aus,"QueryProp",P_WEAPON_TYPE);
@@ -332,7 +332,7 @@
{ int abil,val;
if (!mappingp(sinfo) || !dam || !objectp(sinfo[P_WEAPON]) ||
- (sinfo[P_WEAPON]->QueryProp(P_SHOOTING_WC))<5)
+ (({int})sinfo[P_WEAPON]->QueryProp(P_SHOOTING_WC))<5)
return 0;
abil=sinfo[SI_SKILLABILITY]+sinfo[OFFSET(SI_SKILLABILITY)];
@@ -559,7 +559,7 @@
if ( !t && query_once_interactive(this_object())
&& objectp(g=find_object("/gilden/"+gilde)) )
{
- g->adjust_title(this_object());
+ ({void})g->adjust_title(this_object());
SetProp(P_TITLE,0);
if ( !mappingp(titles=Query(P_GUILD_TITLE)) )
diff --git a/std/room/description.c b/std/room/description.c
index 9431d31..c1c3693 100644
--- a/std/room/description.c
+++ b/std/room/description.c
@@ -100,7 +100,7 @@
string|int transparency;
flags &= 3;
- if( IS_LEARNER(viewer) && viewer->QueryProp( P_WANTS_TO_LEARN ) )
+ if( IS_LEARNER(viewer) && ({int})viewer->QueryProp( P_WANTS_TO_LEARN ) )
descr = "[" + object_name(ME) + "]\n";
else
descr = "";
@@ -115,7 +115,7 @@
}
// ggf. Ausgaenge hinzufuegen.
- if ( viewer->QueryProp(P_SHOW_EXITS) && (!QueryProp(P_HIDE_EXITS)
+ if ( ({int})viewer->QueryProp(P_SHOW_EXITS) && (!QueryProp(P_HIDE_EXITS)
|| pointerp(QueryProp(P_HIDE_EXITS))) )
descr += GetExits(viewer) || "";
@@ -131,7 +131,7 @@
if(stringp(transparency)) descr += transparency;
else descr += "Ausserhalb siehst Du:\n";
- descr += environment()->int_short(viewer,ME);
+ descr += ({string})environment()->int_short(viewer,ME);
}
return descr;
@@ -158,8 +158,8 @@
if(IS_LEARNING(viewer))
descr[<1..<2]=" [" + object_name(ME) + "]";
- if ( ( viewer->QueryProp(P_SHOW_EXITS)
- || ( environment(viewer) == ME && !viewer->QueryProp(P_BRIEF) ) )
+ if ( ( ({int})viewer->QueryProp(P_SHOW_EXITS)
+ || ( environment(viewer) == ME && !({int})viewer->QueryProp(P_BRIEF) ) )
&& (!QueryProp(P_HIDE_EXITS) || pointerp(QueryProp(P_HIDE_EXITS))) )
descr += GetExits(viewer) || "";
diff --git a/std/room/gilde.c b/std/room/gilde.c
index 737dfc2..42f3b4c 100644
--- a/std/room/gilde.c
+++ b/std/room/gilde.c
@@ -106,8 +106,8 @@
int lvl;
if (PL && query_once_interactive(PL)
- && (lvl=PL->QueryProp(P_LEVEL)) <= 6
- && LEPMASTER->QueryLevel(PL->QueryProp(P_LEP)) > lvl)
+ && (lvl=({int})PL->QueryProp(P_LEVEL)) <= 6
+ && ({int})LEPMASTER->QueryLevel(({int})PL->QueryProp(P_LEP)) > lvl)
{
tell_object(PL,
"\nDu koenntest Deine Stufe mit \"erhoehe spieler\" hier in der Gilde "
@@ -160,10 +160,10 @@
{
int cond;
- cond=LEPMASTER->QueryReadyForWiz(this_player());
+ cond=({int})LEPMASTER->QueryReadyForWiz(this_player());
if (!silent)
- write(break_string(LEPMASTER->QueryReadyForWizText(this_player()),
+ write(break_string(({string})LEPMASTER->QueryReadyForWizText(this_player()),
78, 0, 1));
return cond;
@@ -173,9 +173,9 @@
{
string tmp;
- int lep = PL->QueryProp(P_LEP);
- int lvl = PL->QueryProp(P_LEVEL);
- int diff = LEPMASTER->QueryNextLevelLEP(lvl, lep);
+ int lep = ({int})PL->QueryProp(P_LEP);
+ int lvl = ({int})PL->QueryProp(P_LEVEL);
+ int diff = ({int})LEPMASTER->QueryNextLevelLEP(lvl, lep);
switch ( diff ) {
case 101..__INT_MAX__:
@@ -185,23 +185,23 @@
break;
case 81..100:
- tmp=kosten_0[PL->QueryProp(P_GUILD)] || kosten_0[0];
+ tmp=kosten_0[({string})PL->QueryProp(P_GUILD)] || kosten_0[0];
break;
case 61..80:
- tmp=kosten_20[PL->QueryProp(P_GUILD)] || kosten_20[0];
+ tmp=kosten_20[({string})PL->QueryProp(P_GUILD)] || kosten_20[0];
break;
case 41..60:
- tmp=kosten_40[PL->QueryProp(P_GUILD)] || kosten_40[0];
+ tmp=kosten_40[({string})PL->QueryProp(P_GUILD)] || kosten_40[0];
break;
case 21..40:
- tmp=kosten_60[PL->QueryProp(P_GUILD)] || kosten_60[0];
+ tmp=kosten_60[({string})PL->QueryProp(P_GUILD)] || kosten_60[0];
break;
case 1..20:
- tmp=kosten_80[PL->QueryProp(P_GUILD)] || kosten_80[0];
+ tmp=kosten_80[({string})PL->QueryProp(P_GUILD)] || kosten_80[0];
break;
default:
@@ -216,7 +216,7 @@
if (!IS_SEER(this_player())
&& ( (str == "lang") ||
- (this_player()->QueryProp(P_LEVEL) > 12 && str != "kurz"))) {
+ (({int})this_player()->QueryProp(P_LEVEL) > 12 && str != "kurz"))) {
seer_cond(0);
write (break_string("\nMit 'kosten kurz' kannst Du die Angabe der "
"Seher-Anforderungen unterdruecken.", 78,0,1));
@@ -236,7 +236,7 @@
if (lev<0) lev=0;
- if (pl->QueryProp(P_GENDER) == MALE)
+ if (({int})pl->QueryProp(P_GENDER) == MALE)
titles=QueryProp(P_GUILD_MALE_TITLES);
else
titles=QueryProp(P_GUILD_FEMALE_TITLES);
@@ -256,32 +256,32 @@
// drumrum, den advance() aus hysterischen Gruenden tut.
int try_player_advance(object pl) {
- if (PL->QueryProp(P_KILLS)>0)
+ if (({int})PL->QueryProp(P_KILLS)>0)
return -1;
- int level = pl->QueryProp( P_LEVEL );
+ int level = ({int})pl->QueryProp( P_LEVEL );
if (level == -1) level = 0;
- if (LEPMASTER->QueryNextLevelLEP(level, pl->QueryProp(P_LEP)) > 0)
+ if (({int})LEPMASTER->QueryNextLevelLEP(level, ({int})pl->QueryProp(P_LEP)) > 0)
return 0;
else
++level;
- pl->SetProp( P_LEVEL, level );
+ ({int})pl->SetProp( P_LEVEL, level );
// Aufstiegs-Event ausloesen
- EVENTD->TriggerEvent(EVT_LIB_ADVANCE, ([
+ ({int})EVENTD->TriggerEvent(EVT_LIB_ADVANCE, ([
E_OBJECT: PL, E_PLNAME: getuid(PL),
E_ENVIRONMENT: environment(PL),
- E_GUILDNAME: PL->QueryProp(P_GUILD),
- P_LEVEL: PL->QueryProp(P_LEVEL),
+ E_GUILDNAME: ({string})PL->QueryProp(P_GUILD),
+ P_LEVEL: ({int})PL->QueryProp(P_LEVEL),
]) );
// Falls die konkrete Gilde des Spielern irgedwas mit dem Titel in
// ABhaengigkeit des Spielerlevels tun will. Ausnahmsweise per call_other,
// die Funktion kommt eigentlich aus /std/gilden_ob.c.
string gname=({string})pl->QueryProp(P_GUILD);
- (GUILD_DIR+"/"+gname)->adjust_title(pl);
+ ({void})(GUILD_DIR+"/"+gname)->adjust_title(pl);
return 1;
}
@@ -307,18 +307,18 @@
"In diesem Fall kannst Du Deine Stufe nicht erhoehen.\n"+
"Bitte wende Dich an den Sheriff (oder einen Erzmagier) und bring "
"das in Ordnung.\n",78,BS_LEAVE_MY_LFS));
- say(break_string(PL->Name(WER)
+ say(break_string(({string})PL->Name(WER)
+ " hat soeben auf schmerzliche Weise erfahren muessen, dass "
"es wirklich nicht foerderlich ist, Mitspieler umzubringen.\n",
78), PL);
return 0;
}
- string name_of_player = PL->name(WER);
- int level = PL->QueryProp(P_LEVEL);
+ string name_of_player = ({string})PL->name(WER);
+ int level = ({int})PL->QueryProp(P_LEVEL);
say( name_of_player + " hat jetzt Stufe " + level + " erreicht.\n");
- string title = PL->QueryProp(P_TITLE);
+ string title = ({string})PL->QueryProp(P_TITLE);
switch(random(3)) {
case 0:
@@ -357,9 +357,9 @@
break;
}
- string str = QM->liste(this_player(), geloest_filter);
+ string str = ({string})QM->liste(this_player(), geloest_filter);
- this_player()->More( str, 0 );
+ ({void})this_player()->More( str, 0 );
return 1;
}
@@ -369,11 +369,11 @@
{
write("Ein Zauberspruch zieht vor Deinem geistigen Auge vorbei und Du\n"
"sprichst ihn nach.\n");
- say(PL->name()+" murmelt einen geheimen Zauberspruch und schwebt langsam\n"
+ say(({string})PL->name()+" murmelt einen geheimen Zauberspruch und schwebt langsam\n"
"zur Decke hinauf und verschwindet durch die Wand.\n");
write("Du schwebst langsam zur Decke hinauf und als ob diese nicht da\n"
"waere mitten hindurch in den Magiertreff.\n");
- return (PL->move("/secure/merlin", M_TPORT | M_SILENT ) >= 0);
+ return (({int})PL->move("/secure/merlin", M_TPORT | M_SILENT ) >= 0);
}
write("Du springst zur Decke hinauf und nix passiert.\n");
return 1;
diff --git a/std/shells/magier.c b/std/shells/magier.c
index efde69f..320b947 100644
--- a/std/shells/magier.c
+++ b/std/shells/magier.c
@@ -166,7 +166,7 @@
static string _query_race()
{
- if (previous_object() && previous_object()->query_login_object())
+ if (previous_object() && ({int})previous_object()->query_login_object())
return 0;
return Query(P_RACE) ? Query(P_RACE) : Set(P_RACE, "Magier");
@@ -304,7 +304,7 @@
if (str=="\\ESCAPE" && IS_LORD(this_object()))
{
__set_environment(this_object(),"/room/void");
- environment()->init();
+ ({void})environment()->init();
printf("You escaped.\n");
return "";
}
diff --git a/std/shells/magier/admin.c b/std/shells/magier/admin.c
index 64f3168..0dcac9f 100644
--- a/std/shells/magier/admin.c
+++ b/std/shells/magier/admin.c
@@ -89,7 +89,7 @@
if (!str) return 0;
if (sscanf(str,"%s %s",master,domain)!=2) return 0;
if (!master || !domain) return 0;
- if (!"/secure/master"->add_domain_master(master,domain))
+ if (!({int})"/secure/master"->add_domain_master(master,domain))
write("Hat nicht funktioniert.\n");
else
write("Ok.\n");
@@ -109,7 +109,7 @@
if (!str) return 0;
if (sscanf(str,"%s %s",master,domain)!=2) return 0;
if (!master || !domain) return 0;
- if (!"/secure/master"->remove_domain_master(master,domain))
+ if (!({int})"/secure/master"->remove_domain_master(master,domain))
write("Hat nicht funktioniert.\n");
else
write("Ok.\n");
@@ -130,7 +130,7 @@
if (!str) return 0;
if (sscanf(str, "%s %s", master, guild)!=2) return 0;
if (!master || !guild) return 0;
- if (!"/secure/master"->add_guild_master(master,guild))
+ if (!({int})"/secure/master"->add_guild_master(master,guild))
write("Hat nicht funktioniert.\n");
else
write ("Ok.\n");
@@ -150,7 +150,7 @@
if (!str) return 0;
if (sscanf(str, "%s %s", master, guild)!=2) return 0;
if (!master || !guild) return 0;
- if (!"/secure/master"->remove_guild_master(master,guild))
+ if (!({int})"/secure/master"->remove_guild_master(master,guild))
write("Hat nicht funktioniert.\n");
else
write("Ok.\n");
@@ -179,12 +179,12 @@
if ( arg=="?" )
{
- write(call_other("/secure/sinmaster","ListSinners"));
+ write(({string})call_other("/secure/sinmaster","ListSinners"));
return 1;
}
if ( arg=="!" )
{
- write(call_other("/secure/sinmaster","Dump"));
+ write(({string})call_other("/secure/sinmaster","Dump"));
return 1;
}
if ( arg=="*" )
@@ -200,7 +200,7 @@
{
if ( i<2 )
return 0;
- write(call_other("/secure/sinmaster","RemoveSin",
+ write(({string})call_other("/secure/sinmaster","RemoveSin",
lowerstring(parts[0][1..]),
to_int(parts[1])));
}
@@ -208,7 +208,7 @@
{
if ( i<2 )
return 0;
- write(call_other("/secure/sinmaster","AddSin",
+ write(({string})call_other("/secure/sinmaster","AddSin",
lowerstring(parts[0][1..]),
implode(parts[1..]," ")));
}
@@ -216,7 +216,7 @@
{
if ( i>1 )
return 0;
- write(call_other("/secure/sinmaster","ListSins",
+ write(({string})call_other("/secure/sinmaster","ListSins",
lowerstring(parts[0])));
}
return 1;
@@ -251,7 +251,7 @@
}
name=lower_case(name);
- "/secure/master"->BanishName( name, grund, force );
+ ({int})"/secure/master"->BanishName( name, grund, force );
return 1;
}
@@ -305,7 +305,7 @@
name = lower_case(name);
if ( !grund || !stringp(grund) || lower_case(grund) != "loeschen" ){
- "/secure/merlin"->MBanishInsert( name, grund, this_interactive() );
+ ({void})"/secure/merlin"->MBanishInsert( name, grund, this_interactive() );
write( "Du setzt "+capitalize(name)+" auf die MBanish-Liste.\n" );
}
else{
@@ -313,7 +313,7 @@
write( "Das duerfen nur Erzmagier.\n" );
return 1;
}
- "/secure/merlin"->MBanishDelete( name );
+ ({void})"/secure/merlin"->MBanishDelete( name );
write( "Du loescht "+capitalize(name)+" von der MBanish-Liste.\n" );
}
@@ -342,7 +342,7 @@
name = lower_case(name);
- if ( !"/secure/master"->TBanishName( name, days ) )
+ if ( !({int})"/secure/master"->TBanishName( name, days ) )
return 1;
if ( !days )
@@ -395,7 +395,7 @@
_notify_fail("Syntax: sbanish <numerische ip> <tage>\n");
- if ( sscanf( this_player()->_unparsed_args(), "%s %d", ip, days ) != 2 )
+ if ( sscanf( ({string})this_player()->_unparsed_args(), "%s %d", ip, days ) != 2 )
return 0;
if ( !ip || !sizeof(ip) )
diff --git a/std/shells/magier/comm.c b/std/shells/magier/comm.c
index 5263979..444efb3 100644
--- a/std/shells/magier/comm.c
+++ b/std/shells/magier/comm.c
@@ -51,7 +51,7 @@
}
msg=break_string(msg,78);
tell_object(ob,msg);
- printf("%s->%s",ob->Name(WEN),msg);
+ printf("%s->%s",({string})ob->Name(WEN),msg);
return 1;
}
diff --git a/std/shells/magier/magier_ext.c b/std/shells/magier/magier_ext.c
index 365ac63..926d0b2 100644
--- a/std/shells/magier/magier_ext.c
+++ b/std/shells/magier/magier_ext.c
@@ -154,7 +154,7 @@
static string _set_currentdir(string path)
{
Set(P_CURRENTDIR, path);
- this_object()->modify_prompt(); // Prompt mit neuem Pfad setzen, telnetneg
+ ({void})this_object()->modify_prompt(); // Prompt mit neuem Pfad setzen, telnetneg
return path;
}
@@ -212,7 +212,7 @@
static string _set_prompt(string prompt) {
Set(P_PROMPT, prompt, F_VALUE);
- this_object()->modify_prompt(); // neuen Prompt setzen (telnetneg.c)
+ ({void})this_object()->modify_prompt(); // neuen Prompt setzen (telnetneg.c)
return prompt;
}
@@ -292,7 +292,7 @@
"nicht moeglich.\n");
return 1;
}
- ob->start_player(capitalize(getuid(this_object())));
+ ({int})ob->start_player(capitalize(getuid(this_object())));
remove();
return 1;
}
@@ -451,7 +451,7 @@
QueryProp(P_MMSGOUT)),({ this_object() }));
if (inform=="e") {
// Logout-event ausloesen
- EVENTD->TriggerEvent(EVT_LIB_LOGOUT, ([
+ ({int})EVENTD->TriggerEvent(EVT_LIB_LOGOUT, ([
E_OBJECT: this_object(),
E_PLNAME: getuid(this_object()),
E_ENVIRONMENT: environment() ]) );
@@ -473,7 +473,7 @@
SetProp(P_INVIS, 0);
if (inform=="e") {
// Login-event ausloesen
- EVENTD->TriggerEvent(EVT_LIB_LOGIN, ([
+ ({int})EVENTD->TriggerEvent(EVT_LIB_LOGIN, ([
E_OBJECT: this_object(),
E_PLNAME: getuid(this_object()),
E_ENVIRONMENT: environment() ]) );
diff --git a/std/shells/magier/objects.c b/std/shells/magier/objects.c
index 1a51ba5..b93f6c7 100644
--- a/std/shells/magier/objects.c
+++ b/std/shells/magier/objects.c
@@ -67,8 +67,8 @@
if (!objectp(ob))
return printf("clone: %s: Objekt beim Erzeugen zerstoert.\n",
args[0]),1;
- if ((ob->move(this_object(),M_GET)>0) ||
- (!objectp(ob)||ob->move(environment(),M_NOCHECK)>0)||!objectp(ob))
+ if ((({int})ob->move(this_object(),M_GET)>0) ||
+ (!objectp(ob)||({int})ob->move(environment(),M_NOCHECK)>0)||!objectp(ob))
{
if (!objectp(ob))
return printf("clone: %s: Objekt beim Erzeugen zerstoert.\n",
@@ -118,11 +118,11 @@
}
else
ob=args[0];
- cmdline=capitalize(to_string(ob->name(WER)));
+ cmdline=capitalize(to_string(({string})ob->name(WER)));
flags=({int})ob->QueryProp(P_PLURAL); // Missbrauch von flags :o)
if (query_verb()=="destruct")
{
- if (!ob->remove())
+ if (!({int})ob->remove())
{
notify_fail(cmdline+" will nicht zerstoert werden!\n");
return 0;
diff --git a/std/shells/magier/parsing.c b/std/shells/magier/parsing.c
index a38210a..31d3429 100644
--- a/std/shells/magier/parsing.c
+++ b/std/shells/magier/parsing.c
@@ -285,7 +285,7 @@
}
// Normalisiertes Pfadarray besorgen
- string *patharray=master()->path_array(filename);
+ string *patharray=({string*})master()->path_array(filename);
// und daraus auch filename neu erzeugen
filename=implode(patharray, "/");
@@ -301,7 +301,7 @@
object *vrooms = ({});
if (vcompiler)
- vrooms = vcompiler->QueryObjects();
+ vrooms = ({object*})vcompiler->QueryObjects();
map(vrooms,#'_vc_map,&data);
}
diff --git a/std/shells/magier/players.c b/std/shells/magier/players.c
index a07c343..6c80ffe 100644
--- a/std/shells/magier/players.c
+++ b/std/shells/magier/players.c
@@ -87,7 +87,7 @@
if ( !pointerp(message) || sizeof(message) != 3 ){
tell_room(environment(),sprintf("%s beschwoert einen Blitz "
"vom Himmel.\n",capitalize(getuid())),({ this_object() }));
- printf("Du toetest %s.\n",opfer->name( WEN,2));
+ printf("Du toetest %s.\n",({string})opfer->name( WEN,2));
}
else
{
@@ -97,7 +97,7 @@
tell_object(opfer,_zap_message(message[2],opfer));
}
- opfer->die();
+ ({void})opfer->die();
return 1;
}
else{
@@ -121,7 +121,7 @@
mixed *pur = Query(P_PURSUERS);
if ( pointerp(pur) && sizeof(pur) && objectp(pur[0]) )
{
- pur[0]->RemovePursuer(this_object());
+ ({void})pur[0]->RemovePursuer(this_object());
ReceiveMsg("Verfolgungsmodus abgeschaltet.", MT_NOTIFICATION);
}
else
@@ -167,10 +167,10 @@
else
{
ReceiveMsg(sprintf(
- "Du verfolgst jetzt %s. [%s]", ziel->name(WEN), object_name(ziel)),
+ "Du verfolgst jetzt %s. [%s]", ({string})ziel->name(WEN), object_name(ziel)),
MT_NOTIFICATION, MA_MOVE);
- ziel->AddPursuer(this_object());
- ziel->TakeFollowers();
+ ({void})ziel->AddPursuer(this_object());
+ ({void})ziel->TakeFollowers();
}
}
else
@@ -201,10 +201,10 @@
}
if(living=find_living(livname))
{
- if (living->move(object_name(environment()),
+ if (({int})living->move(object_name(environment()),
M_TPORT|M_NOCHECK)<=0)
{
- printf("Teleportieren von %s fehlgeschlagen.\n",living->Name(WEM));
+ printf("Teleportieren von %s fehlgeschlagen.\n",({string})living->Name(WEM));
if (IS_LEARNER(living))
tell_object(living,sprintf("%s wollte Dich teleportieren, "
"hat aber versagt!\n",capitalize(getuid())));
@@ -215,7 +215,7 @@
"Du verlierst die Orientierung ...\n"
+(QueryProp(P_INVIS)?"":"%s holt Dich zu sich.\n"),
capitalize(getuid())));
- printf("%s wurde herbeizitiert.\n",living->Name(WER));
+ printf("%s wurde herbeizitiert.\n",({string})living->Name(WER));
return 1;
}
printf("Das Lebewesen '%s' konnte nicht gefunden werden.\n",
@@ -249,13 +249,13 @@
mapping enemies = ({mapping})obj->StopHuntingMode(1);
foreach(object en : enemies)
{
- en->StopHuntFor(obj, 1);
+ ({int})en->StopHuntFor(obj, 1);
tell_object(obj,sprintf("%s beendet Deinen Kampf mit %s.\n",
- capitalize(getuid()),en->Name(WEM)));
+ capitalize(getuid()),({string})en->Name(WEM)));
tell_object(en,sprintf("%s beendet Deinen Kampf mit %s.\n",
capitalize(getuid()),him));
}
- printf("%s und alle Gegner wurden befriedet.\n",obj->Name(WER));
+ printf("%s und alle Gegner wurden befriedet.\n",({string})obj->Name(WER));
}
return 1;
}
@@ -281,7 +281,7 @@
spieler = filter(users(),(: return !IS_LEARNER($1); :));
#endif
spieler = sort_array(spieler, function int (object a, object b)
- { return a->QueryProp(P_LEVEL) > b->QueryProp(P_LEVEL); } );
+ { return ({int})a->QueryProp(P_LEVEL) > ({int})b->QueryProp(P_LEVEL); } );
res = "Lvl Name Erfahrung QP Int Str Dex Con WC "
"AC HANDS HP (max)\n"
@@ -290,19 +290,19 @@
for (i=sizeof(spieler)-1; i>=0; i--)
res += sprintf("%3d %-12s %9d %5d %3d %3d %3d %3d %4d %4d %5d "
"%4d (%4d)\n",
- spieler[i]->QueryProp(P_LEVEL),
+ ({int})spieler[i]->QueryProp(P_LEVEL),
capitalize(getuid(spieler[i])),
- spieler[i]->QueryProp(P_XP),
- spieler[i]->QueryProp(P_QP),
- spieler[i]->QueryAttribute(A_INT),
- spieler[i]->QueryAttribute(A_STR),
- spieler[i]->QueryAttribute(A_DEX),
- spieler[i]->QueryAttribute(A_CON),
- spieler[i]->QueryProp(P_TOTAL_WC),
- spieler[i]->QueryProp(P_TOTAL_AC),
- (sizeof(hands=(({int *})spieler[i]->QueryProp(P_HANDS)))?hands[1]:0),
- spieler[i]->QueryProp(P_HP),
- spieler[i]->QueryProp(P_MAX_HP));
+ ({int})spieler[i]->QueryProp(P_XP),
+ ({int})spieler[i]->QueryProp(P_QP),
+ ({int})spieler[i]->QueryAttribute(A_INT),
+ ({int})spieler[i]->QueryAttribute(A_STR),
+ ({int})spieler[i]->QueryAttribute(A_DEX),
+ ({int})spieler[i]->QueryAttribute(A_CON),
+ ({int})spieler[i]->QueryProp(P_TOTAL_WC),
+ ({int})spieler[i]->QueryProp(P_TOTAL_AC),
+ (sizeof(hands=(({<int|string|string*>*})spieler[i]->QueryProp(P_HANDS)))?hands[1]:0),
+ ({int})spieler[i]->QueryProp(P_HP),
+ ({int})spieler[i]->QueryProp(P_MAX_HP));
More(res);
return 1;
}
@@ -324,14 +324,14 @@
if (!(living = find_living(living_name)))
return printf ("Ein Lebewesen namens '%s' konnte nicht gefunden werden!\n",
capitalize(living_name)),1;
- if (living->command_me(what))
+ if (({int})living->command_me(what))
{
printf("Du zwingst %s zu \"%s\".\n",capitalize(living_name),what);
if (!IS_ARCH(this_object()) &&
getuid()!=({string|int})living->QueryProp(P_TESTPLAYER))
log_file(SHELLLOG("ZWINGE"),
sprintf("%s zwingt %s (%s) zu %s [%s]\n",
- capitalize(getuid()),living->Name(),capitalize(getuid(living)),
+ capitalize(getuid()),({string})living->Name(),capitalize(getuid(living)),
what,dtime(time())));
}
else
@@ -360,7 +360,7 @@
}
lpv = ({int})ob->QueryProp(P_HP);
mpv = ({int})ob->QueryProp(P_SP);
- ob->heal_self(1000000);
+ ({void})ob->heal_self(1000000);
string|int testie = ({string|int})ob->QueryProp(P_TESTPLAYER);
if (!IS_LEARNER(ob)
&& (!testie || (to_string(testie)[<5..<1] == "Gilde")))
@@ -368,7 +368,7 @@
log_file(SHELLLOG("HEAL"),
sprintf("%s heilt %s (%s) %s (LP: %d -> %d, MP: %d -> %d)\n",
capitalize(geteuid(this_player())),
- call_other(ob,"name"), capitalize(geteuid(ob)),
+ ({string})call_other(ob,"name"), capitalize(geteuid(ob)),
dtime(time()), lpv, ({int})ob->QueryProp(P_HP),
mpv,({int})ob->QueryProp(P_SP)));
}
@@ -422,11 +422,11 @@
a=0;res="";
for(i=0; i<sizeof(list); i++) {
string name_;
- name_ = capitalize(list[i]->query_real_name()||"<logon>");
+ name_ = capitalize(({string})list[i]->query_real_name()||"<logon>");
res += sprintf( "%s%-15s%s %s%-13s%s %s%3d%s %s %s %s%s%s%s %s%s\n",
a_ipnum, query_ip_number(list[i]),a_end,a_name,
- (list[i]->QueryProp(P_INVIS)?"("+name_+")":name_),
- a_end,a_level, MASTER->get_wiz_level(getuid(list[i])),
+ (({int})list[i]->QueryProp(P_INVIS)?"("+name_+")":name_),
+ a_end,a_level, ({int})MASTER->get_wiz_level(getuid(list[i])),
a_end,a_age,
time2string("%4x %0X",(({int})list[i]->QueryProp(P_AGE))*2),
query_idle(list[i])>=300?(a++,(a_idle+"I")):" ",
@@ -522,10 +522,10 @@
foreach(object u: spieler)
{
- string second=u->QueryProp(P_SECOND);
+ string second=({string})u->QueryProp(P_SECOND);
if (stringp(second) && sizeof(second))
{
- if (!master()->find_userinfo(second))
+ if (!({int})master()->find_userinfo(second))
second = "*ungueltig*";
else
second = capitalize(second);
@@ -535,7 +535,7 @@
arg+=sprintf("%-11s %-17s %26s %-15s\n",
capitalize(getuid(u)), second,
- dtime(u->QueryProp(P_LAST_LOGIN)),
+ dtime(({int})u->QueryProp(P_LAST_LOGIN)),
_spieler_time2string(query_idle(u)));
}
arg+="==============================================================="
diff --git a/std/shells/magier/upd.c b/std/shells/magier/upd.c
index f48d73c..87a3030 100644
--- a/std/shells/magier/upd.c
+++ b/std/shells/magier/upd.c
@@ -39,7 +39,7 @@
{
if ( query_once_interactive(obj) )
{
- obj->move( inv_saver, NO_CHECK );
+ ({int})obj->move( inv_saver, NO_CHECK );
return obj;
}
return 0;
@@ -140,7 +140,7 @@
}
if (!(flags&UPD_H))
{
- if(err = catch(obj->remove()))
+ if(err = catch(({int})obj->remove()))
printf("upd: %s: remove() fehlgeschlagen. Aufruf von " +
"destruct().\n",file);
}
@@ -394,10 +394,10 @@
items=transpose_array(items)[0];
while (i--)
if (member(items, inv[i])==-1)
- inv[i]->move(inv_saver,NO_CHECK);
+ ({int})inv[i]->move(inv_saver,NO_CHECK);
}
else // In diesem Objekt sind keine Items gesetzt.
- while (i--) inv[i]->move(inv_saver,NO_CHECK);
+ while (i--) ({int})inv[i]->move(inv_saver,NO_CHECK);
}
}
else
@@ -453,7 +453,7 @@
_illegal_closure(pro[names[i], F_SET_METHOD]) )
m_delete( pro, names[i] );
- obj->SetProperties(pro);
+ ({mapping})obj->SetProperties(pro);
msg += ", Properties gesetzt";
}
// Wenn kein UPD_C, wird ggf. das Ergebnis von Configure() wieder
@@ -476,7 +476,7 @@
}
if (env)
{
- if ( obj->move( env, NO_CHECK ) <= 0 )
+ if ( ({int})obj->move( env, NO_CHECK ) <= 0 )
printf( "upd: /%O konnte nicht in /%O zurueckbewegt werden\n",
obj, env );
else
@@ -484,7 +484,7 @@
}
if (i=sizeof(inv))
{
- while(i--) if (inv[i]) inv[i]->move(obj, NO_CHECK );
+ while(i--) if (inv[i]) ({int})inv[i]->move(obj, NO_CHECK );
msg += ", Inhalt zurueckbewegt";
}
}
diff --git a/std/thing/commands.c b/std/thing/commands.c
index c3eddf6..157fe74 100644
--- a/std/thing/commands.c
+++ b/std/thing/commands.c
@@ -79,10 +79,10 @@
// Restriktionen vor dem Anzeigen pruefen.
if (mappingp(restr))
{
- string res = "/std/restriction_checker"->check_restrictions(PL,restr);
+ string res = ({string})"/std/restriction_checker"->check_restrictions(PL,restr);
if (res)
{
- PL->ReceiveMsg("Fuer " + name(WEN,1) + " darfst Du "
+ ({int})PL->ReceiveMsg("Fuer " + name(WEN,1) + " darfst Du "
"die Syntaxhilfe (noch) nicht lesen:\n"
+ res,
MT_NOTIFICATION|MSG_BS_LEAVE_LFS,
@@ -96,12 +96,12 @@
if (res)
{
if (intp(res))
- PL->ReceiveMsg("Fuer " + name(WEN,1) + " darfst Du "
+ ({int})PL->ReceiveMsg("Fuer " + name(WEN,1) + " darfst Du "
"die Syntaxhilfe (noch) nicht lesen.",
MT_NOTIFICATION|MSG_BS_LEAVE_LFS,
"syntaxhilfe",0,this_object());
else if (stringp(res))
- PL->ReceiveMsg(res,
+ ({int})PL->ReceiveMsg(res,
MT_NOTIFICATION|MSG_BS_LEAVE_LFS,
"syntaxhilfe",0,this_object());
return 1;
@@ -127,7 +127,7 @@
return 0;
}
if (stringp(help) && sizeof(help))
- PL->ReceiveMsg(help, MT_NOTIFICATION|MSG_BS_LEAVE_LFS,
+ ({int})PL->ReceiveMsg(help, MT_NOTIFICATION|MSG_BS_LEAVE_LFS,
"syntaxhilfe",0,this_object());
return 1;
diff --git a/std/thing/moving.c b/std/thing/moving.c
index 484b335..fbee070 100644
--- a/std/thing/moving.c
+++ b/std/thing/moving.c
@@ -26,8 +26,8 @@
// M_NOCHECK? -> Bewegung eh erlaubt (und Rueckgabewert wuerde ignoriert)
if ((method&M_NOCHECK)) {
// Bei M_NOCHECK zwar Prevent* aufrufen, aber das Resultat ignorieren
- if (oldenv) oldenv->PreventLeave(this_object(),dest);
- dest->PreventInsert(this_object());
+ if (oldenv) ({int})oldenv->PreventLeave(this_object(),dest);
+ ({int})dest->PreventInsert(this_object());
return 0; // das wars, rest ist egal.
}
@@ -51,15 +51,15 @@
}
// Ist das Zielobjekt schon voll?
- if ( !dest->MayAddObject(this_object()) )
+ if ( !({int})dest->MayAddObject(this_object()) )
return TOO_MANY_OBJECTS;
// Darf hinausbewegt werden?
- if ( oldenv && oldenv->PreventLeave(this_object(), dest) )
+ if ( oldenv && ({int})oldenv->PreventLeave(this_object(), dest) )
return ME_CANT_LEAVE_ENV;
// Darf hineinbewegt werden?
- if ( dest->PreventInsert(this_object()) )
+ if ( ({int})dest->PreventInsert(this_object()) )
return ME_CANT_BE_INSERTED;
return(0);
@@ -108,7 +108,7 @@
!catch(valid=({int})vc->QueryValidObject(fn);publish)
&& valid>0)) &&
!catch(load_object(fn);publish))) &&
- (!fn->QueryProp(P_NO_PLAYERS) || QueryProp(P_TESTPLAYER)) )
+ (!({int})fn->QueryProp(P_NO_PLAYERS) || ({int|string})QueryProp(P_TESTPLAYER)) )
dest = fn;
}
}
@@ -141,7 +141,7 @@
mixed *sens = QueryProp(P_SENSITIVE);
if (sens && environment())
{
- environment()->RemoveSensitiveObject( this_object() );
+ ({void})environment()->RemoveSensitiveObject( this_object() );
if (!objectp(ME))
return ME_WAS_DESTRUCTED;
}
@@ -156,16 +156,16 @@
NotifyMove(environment(), oldenv, method);
// Alte Umgebung informieren
- if (oldenv) oldenv->NotifyLeave(this_object(), dest);
+ if (oldenv) ({void})oldenv->NotifyLeave(this_object(), dest);
// Wenn das Objekt eine Umgebung hat, selbige informieren
if (environment()) {
if (sens)
{
- environment()->InsertSensitiveObject(this_object(),sens);
+ ({void})environment()->InsertSensitiveObject(this_object(),sens);
if (!objectp(ME)) return ME_WAS_DESTRUCTED;
}
- environment()->NotifyInsert(this_object(), oldenv);
+ ({void})environment()->NotifyInsert(this_object(), oldenv);
}
//wurde das Objekt vielleicht noch zerstoert?
if (!objectp(ME)) return(ME_WAS_DESTRUCTED);
@@ -179,8 +179,8 @@
{
if (environment() ) {
if(QueryProp(P_SENSITIVE))
- environment()->RemoveSensitiveObject(this_object());
- environment()->NotifyRemove(this_object());
+ ({void})environment()->RemoveSensitiveObject(this_object());
+ ({void})environment()->NotifyRemove(this_object());
}
if (objectp(this_object()))
destruct(this_object());
@@ -197,7 +197,7 @@
// Der Zweck heiligt ja bekanntlich die Mittel. ;-)
//
// Tiamak
- env->_set_last_content_change();
+ ({int})env->_set_last_content_change();
}
return 0;
}
diff --git a/std/util/executer.c b/std/util/executer.c
index bdd4b81..bdd10d2 100644
--- a/std/util/executer.c
+++ b/std/util/executer.c
@@ -14,7 +14,7 @@
return apply(fun, args);
if (stringp(fun))
- return call_other(this_object(), fun, args...);
+ return ({mixed})call_other(this_object(), fun, args...);
if ( pointerp(fun))
{
@@ -30,7 +30,7 @@
if ( !objectp(ob) || !stringp(fun[1]) )
return 0;
- return call_other(ob, fun[1], args...);
+ return ({mixed})call_other(ob, fun[1], args...);
}
return 0;
}
diff --git a/std/util/path.c b/std/util/path.c
index 00ceaa6..ba16e71 100644
--- a/std/util/path.c
+++ b/std/util/path.c
@@ -54,6 +54,6 @@
user = getuid(RPL || PL);
if (expand)
path=expand_path(path, user);
- return implode(master()->path_array(path), "/");
+ return implode(({string*})master()->path_array(path), "/");
}
diff --git a/std/weapon/combat.c b/std/weapon/combat.c
index d266acc..f26b1d8 100644
--- a/std/weapon/combat.c
+++ b/std/weapon/combat.c
@@ -257,7 +257,7 @@
// gleich auf eine WieldFunc zurueckgreifen zu muessen.
// Die Auswertung erfolgt ueber den RestrictionChecker
if ( (res=QueryProp(P_RESTRICTIONS)) && mappingp(res) &&
- (res=call_other("/std/restriction_checker","check_restrictions",
+ (res=({string})call_other("/std/restriction_checker","check_restrictions",
PL,res)) && stringp(res) )
{
notify_fail(res);