HS_BOOL8 CHSInterface::LinkExits(HS_DBREF sexit, HS_DBREF dexit) { if (!sexit || !dexit) return false; #ifdef PENNMUSH if (!IsExit(sexit) || !IsExit(dexit)) return false; Location(dexit) = Home(sexit); Location(sexit) = Home(dexit); #endif #if defined(TM3) || defined(MUX) if (!isExit(sexit) || !isExit(dexit)) return false; s_Location(dexit, where_is(sexit)); s_Location(sexit, where_is(dexit)); #endif #ifdef TM3 s_Modified(dexit); s_Modified(sexit); #endif return true; }
void power_set(dbref target, dbref player, char *power, int key) { POWERENT *fp; int negate, result; /* * Trim spaces, and handle the negation character */ negate = 0; while (*power && isspace(*power)) { power++; } if (*power == '!') { negate = 1; power++; } while (*power && isspace(*power)) { power++; } /* * Make sure a power name was specified */ if (*power == '\0') { if (negate) { notify(player, "You must specify a power to clear."); } else { notify(player, "You must specify a power to set."); } return; } fp = find_power(target, power); if (fp == NULL) { notify(player, "I don't understand that power."); return; } /* * Invoke the power handler, and print feedback */ result = fp->handler(target, player, fp->powervalue, fp->powerpower, negate); if (!result) { notify(player, NOPERM_MESSAGE); } else if (!(key & SET_QUIET) && !Quiet(player)) { notify(player, (negate ? "Cleared." : "Set.")); s_Modified(target); } return; }
void flag_set( dbref target, dbref player, char *flag, int key ) { FLAGENT *fp; int negate, result; /* * Trim spaces, and handle the negation character */ negate = 0; while( *flag && isspace( *flag ) ) { flag++; } if( *flag == '!' ) { negate = 1; flag++; } while( *flag && isspace( *flag ) ) { flag++; } /* * Make sure a flag name was specified */ if( *flag == '\0' ) { if( negate ) { notify( player, "You must specify a flag to clear." ); } else { notify( player, "You must specify a flag to set." ); } return; } fp = find_flag( target, flag ); if( fp == NULL ) { notify( player, "I don't understand that flag." ); return; } /* * Invoke the flag handler, and print feedback */ result = fp->handler( target, player, fp->flagvalue, fp->flagflag, negate ); if( !result ) { notify( player, NOPERM_MESSAGE ); } else if( !( key & SET_QUIET ) && !Quiet( player ) ) { notify( player, ( negate ? "Cleared." : "Set." ) ); s_Modified( target ); } return; }