Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 1 | defuel_food() |
| 2 | ************* |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 3 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 5 | FUNKTION |
| 6 | ======== |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 7 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 8 | int defuel_food(); |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 9 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 10 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 11 | DEFINIERT IN |
| 12 | ============ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 13 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 14 | /std/living/life.c |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 15 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 16 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 17 | ARGUMENTE |
| 18 | ========= |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 19 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 20 | Keine. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 21 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 22 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 23 | BESCHREIBUNG |
| 24 | ============ |
| 25 | |
| 26 | Enttankt den Spieler automatisch um einen gewissen Essens-Wert, |
| 27 | sofern der Spieler ueber einer bestimmten Enttank-Grenze liegt und seit |
| 28 | seinem letzten Enttanken eine gewisse Zeit vergangen ist. |
| 29 | Alle diese Werte sind rassenabhaengig. |
| 30 | |
| 31 | Es ist also NICHT moeglich, Einfluss auf die Menge des Enttankens |
| 32 | zu nehmen. Das ist hier so gewollt. |
| 33 | |
| 34 | Hat der Spieler mindestens |
| 35 | * P_DEFUEL_LIMIT_FOOD in P_FOOD |
| 36 | kann er alle |
| 37 | * P_DEFUEL_TIME_FOOD |
| 38 | um |
| 39 | * (x=P_DRINK*P_DEFUEL_AMOUNT_FOOD/2) + random(x) |
| 40 | (also um (50 bis 100 * P_FOOD) Prozent) |
| 41 | enttanken. |
| 42 | |
| 43 | |
| 44 | RUECKGABEWERTE |
| 45 | ============== |
| 46 | |
| 47 | DEFUEL_TOO_SOON: -2, wenn Enttankintervallzeiten zu kurz. |
| 48 | DEFUEL_TOO_LOW: -1, wenn Enttankgrenze noch nicht erreicht. |
| 49 | NO_DEFUEL: 0, wenn Enttanken nicht noetig war (Spieler war leer) |
| 50 | >0, wenn Erfolg (enttankte Wert wird zurueckgegeben). |
| 51 | |
| 52 | (Konstanten kommen aus /sys/defuel.h) |
| 53 | |
| 54 | |
| 55 | BEMERKUNG |
| 56 | ========= |
| 57 | |
| 58 | Bitte defuel_food() benutzen und nicht P_FOOD oder P_MAX_FOOD des |
| 59 | Spielers manipulieren! |
| 60 | |
| 61 | Achtung: Nur Toiletten sollten diese Funktion im Spieler aufrufen! |
| 62 | |
| 63 | |
| 64 | BEISPIEL |
| 65 | ======== |
| 66 | |
| 67 | int action_enttanken() { |
| 68 | string msg; |
| 69 | int val = this_player()->defuel_food(); |
| 70 | |
| 71 | switch (val) { |
| 72 | case DEFUEL_TOO_SOON: |
| 73 | msg = "Du warst doch erst vor kurzem auf Toilette..."; |
| 74 | break; |
| 75 | case DEFUEL_TOO_LOW: |
| 76 | msg = "Du versuchst Dich zu entleeren, aber irgendwie will " |
| 77 | "das nicht so recht klappen."; |
| 78 | break; |
| 79 | case NO_DEFUEL: |
| 80 | msg = "Du hast seit langem nichts gegessen, wie willst Du dann " |
| 81 | "was loswerden koennen?"; |
| 82 | break; |
| 83 | default: |
| 84 | string qualifier; |
| 85 | int fuzzypercent = (90+random(20)) * |
| 86 | val/this_player()->QueryProp(P_MAX_FOOD); |
| 87 | switch(fuzzypercent) { |
| 88 | case 0..50: qualifier = "etwas"; break; |
| 89 | case 51..75: qualifier = "enorm"; break; |
| 90 | default: qualifier = "unglaublich"; break; |
| 91 | } |
| 92 | msg = "Du entleerst Dich "+qualifier"+. Puh, das tat gut!"; |
| 93 | break; |
| 94 | } |
| 95 | tell_object(this_player(), break_string(msg, 78)); |
| 96 | return 1; |
| 97 | } |
| 98 | |
| 99 | |
| 100 | SIEHE AUCH |
| 101 | ========== |
| 102 | |
| 103 | Aehnlich: defuel_drink |
| 104 | Tanken: consume, drink_alcohol, drink_soft, eat_food |
| 105 | Heilung: heal_self, restore_spell_points, restore_hit_points, |
| 106 | buffer_hp, buffer_sp |
| 107 | Timing: check_and_update_timed_key |
| 108 | Props: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP, |
| 109 | P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK |
| 110 | Konzepte: heilung, enttanken, food |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 111 | |
| 112 | 9. August 2015 Gloinson |