Unwirksame type casts gefixt.
Type casts von unknown/mixed funktionieren nicht.
Change-Id: I984db5f926419bf04881aeb7d75e2c902a7df670
diff --git a/std/shells/magier/players.c b/std/shells/magier/players.c
index a3fb249..3b5e054 100644
--- a/std/shells/magier/players.c
+++ b/std/shells/magier/players.c
@@ -42,10 +42,10 @@
private string _zap_message(string str, object obj)
{
- str=regreplace(str,"@@wer@@",(string)obj->name(WER,2),1);
- str=regreplace(str,"@@wessen@@",(string)obj->name(WESSEN,2),1);
- str=regreplace(str,"@@wem@@",(string)obj->name(WEM,2),1);
- str=regreplace(str,"@@wen@@",(string)obj->name(WEN,2),1);
+ str=regreplace(str,"@@wer@@",({string})obj->name(WER,2),1);
+ str=regreplace(str,"@@wessen@@",({string})obj->name(WESSEN,2),1);
+ str=regreplace(str,"@@wem@@",({string})obj->name(WEM,2),1);
+ str=regreplace(str,"@@wen@@",({string})obj->name(WEN,2),1);
str=regreplace(str,"@@ich@@",name(WER,2),1);
return capitalize(str);
}
@@ -246,7 +246,7 @@
{
if (!obj=find_living(sname))
return printf("Kein solches Lebewesen im Spiel.\n"),1;
- him=(string)obj->name(WEM);
+ him=({string})obj->name(WEM);
i=sizeof(enem=(object *)(((mixed *)obj->StopHuntingMode())[0]));
// Mistdriver ... object** waere richtig gewesen ... *seufz*
while(i--)
@@ -302,7 +302,7 @@
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),
+ (sizeof(hands=(({int *})spieler[i]->QueryProp(P_HANDS)))?hands[1]:0),
spieler[i]->QueryProp(P_HP),
spieler[i]->QueryProp(P_MAX_HP));
More(res);
@@ -329,7 +329,8 @@
if (living->command_me(what))
{
printf("Du zwingst %s zu \"%s\".\n",capitalize(living_name),what);
- if (!IS_ARCH(this_object())&&getuid()!=(string)living->QueryProp(P_TESTPLAYER))
+ 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)),
@@ -359,17 +360,20 @@
printf("'%s' ist momentan nicht da.\n",capitalize(name));
return 1;
}
- lpv = (int)ob->QueryProp(P_HP);
- mpv = (int)ob->QueryProp(P_SP);
+ lpv = ({int})ob->QueryProp(P_HP);
+ mpv = ({int})ob->QueryProp(P_SP);
ob->heal_self(1000000);
- if (!IS_LEARNER(ob) && (!ob->QueryProp(P_TESTPLAYER)||
- (((string)ob->QueryProp(P_TESTPLAYER))[<5..<1]=="Gilde")))
+ string|int testie = ({string|int})ob->QueryProp(P_TESTPLAYER);
+ if (!IS_LEARNER(ob)
+ && (!testie || (to_string(testie)[<5..<1] == "Gilde")))
+ {
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)),
- dtime(time()), lpv, (int)ob->QueryProp(P_HP),
- mpv,(int)ob->QueryProp(P_SP)));
+ dtime(time()), lpv, ({int})ob->QueryProp(P_HP),
+ mpv,({int})ob->QueryProp(P_SP)));
+ }
tell_object(ob, QueryProp(P_NAME) + " heilt Dich.\n");
printf("Du heilst %s.\n",capitalize(name));
return 1;
@@ -426,7 +430,7 @@
(list[i]->QueryProp(P_INVIS)?"("+name_+")":name_),
a_end,a_level, MASTER->get_wiz_level(getuid(list[i])),
a_end,a_age,
- time2string("%4x %0X",((int)list[i]->QueryProp(P_AGE))*2),
+ time2string("%4x %0X",(({int})list[i]->QueryProp(P_AGE))*2),
query_idle(list[i])>=300?(a++,(a_idle+"I")):" ",
a_end,
query_editing(list[i])?a_idle+"E"+a_end:" ",