~sapidlib-dev-core/sapidlib/devel

« back to all changes in this revision

Viewing changes to lib/adm/daemons/soul_d.c

  • Committer: Richard Harrison
  • Date: 2012-04-26 02:09:41 UTC
  • Revision ID: harrison.rt@gmail.com-20120426020941-m5j561r37d3p8hum
Manual merge of work from RtH. Also cut down on the amount of call_out's in timezone.

Show diffs side-by-side

added added

removed removed

Lines of Context:
48
48
  object       target;
49
49
  string array tmp_array, mods_array;
50
50
  string       mods;
51
 
  int          i;
 
51
  int          i, sz;
52
52
 
53
53
  if (stringp(arg))
54
54
  {
55
55
    tmp_array = explode(arg, " ");
56
 
    target = present(tmp_array[0], environment(this_player()));
 
56
    target = present(tmp_array[0], environment(this_user()));
57
57
  }
58
58
 
59
59
  if (target)
60
60
  {
61
 
    if (member_array(emote+"/t", keys(Emotes)) == -1) return 0;
 
61
    if (member_array(emote + "/t", keys(Emotes)) == -1) return 0;
62
62
 
63
 
    if (!present(target, environment(this_player())))
 
63
    if (!present(target, environment(this_user())))
64
64
      return notify_fail("That person is not present\n");
65
65
 
66
66
    if (!living(target))
67
67
      return notify_fail("You can't do that to an inanimate object!\n");
68
68
 
69
 
    emote = emote+"/t";
 
69
    emote = emote + "/t";
70
70
  }
71
71
  else
72
72
  if (member_array(emote, keys(Emotes)) == -1) return 0;
73
73
 
74
 
  if ((target && (sizeof(tmp_array) > 1)) || (!target && (sizeof(tmp_array) > 0)))
 
74
  sz = sizeof(tmp_array);
 
75
 
 
76
  if ((target && sz > 1) || (!target && sz > 0))
75
77
  {
76
 
    for ((target ? i = 1 : i = 0) ; i < sizeof(tmp_array) ; i++)
77
 
    {
 
78
    for ((target ? i = 1 : i = 0) ; i < sz ; i++)
78
79
      if (!mods_array) mods_array = ({ tmp_array[i] });
79
80
      else mods_array += ({ tmp_array[i] });
80
 
    }
81
81
 
82
82
    if (sizeof(mods_array) > 0) mods = implode(mods_array, " ");
83
83
  }
96
96
int sort_time(mixed a, mixed b)
97
97
{
98
98
  if (Players[a] < Players[b]) return -1;
99
 
  else if (Players[a] > Players[b]) return 1;
 
99
  else
 
100
  if (Players[a] > Players[b]) return 1;
100
101
 
101
102
  return 0;
102
103
}
108
109
  string array mods_array;
109
110
  string array return_msgs = ({ });
110
111
  string       mods;
111
 
  int          i;
 
112
  int          i, sz;
112
113
 
113
114
  if (stringp(arg))
114
115
  {
115
116
    string u, m;
 
117
 
116
118
    tmp_array = explode(arg, " ");
117
 
 
118
119
    sscanf(tmp_array[0], "%s@%s", u, m);
119
120
 
120
121
    if (stringp(u))
121
122
    {
122
 
      mapping ucache = find_object(I3_UCACHE)->getUserCache();
 
123
      mapping      ucache = find_object(I3_UCACHE)->getUserCache();
123
124
      string array plrs = ({ });
124
125
 
125
126
      Players = ([ ]);
126
127
 
127
128
      foreach (string mudname, mapping usernames in ucache)
128
129
        foreach (string username, mixed data in usernames)
129
 
          if (data[I3_UC_LASTACTIVE] > 0) Players[data[I3_UC_VISNAME] + "@" + mudname] = data[I3_UC_LASTACTIVE];
 
130
          if (data[I3_UC_LASTACTIVE] > 0)
 
131
            Players[data[I3_UC_VISNAME] + "@" + mudname] = data[I3_UC_LASTACTIVE];
130
132
 
131
133
      foreach (string plr, int timestamp in Players)
132
134
      {
174
176
  else
175
177
  if (member_array(emote, keys(Emotes)) == -1) return return_msgs;
176
178
 
177
 
  if ((target && (sizeof(tmp_array) > 1)) || (!target && (sizeof(tmp_array) > 0)))
 
179
  sz = sizeof(tmp_array);
 
180
 
 
181
  if ((target && sz > 1) || (!target && sz > 0))
178
182
  {
179
 
    for ((target ? i = 1 : i = 0) ; i < sizeof(tmp_array) ; i++)
 
183
    for ((target ? i = 1 : i = 0) ; i < sz ; i++)
180
184
      if (!mods_array) mods_array = ({ tmp_array[i] });
181
185
      else mods_array += ({ tmp_array[i] });
182
186
 
196
200
 
197
201
nomask varargs void do_emote(string emote, string mods, object target)
198
202
{
199
 
  string *msgs;
 
203
  string array msgs;
200
204
 
201
205
  msgs = Emotes[emote];
202
206
 
233
237
  {
234
238
    return_msgs += ({ build_channel_emote(msgs[0], emote, mods, target, 0, 1) });
235
239
 
236
 
    if (target != this_player())
 
240
    if (target != this_user())
237
241
      return_msgs += ({ build_channel_emote(msgs[2], emote, mods, target, 1, 2) });
238
242
 
239
243
    return_msgs += ({ build_channel_emote(msgs[1], emote, mods, target, 1, 0) });
249
253
  string array tmp2 = ({ });
250
254
  int i, sz;
251
255
 
252
 
  if (target == this_player())
 
256
  if (target == this_user())
253
257
  {
254
258
    if (to_player == 1)
255
259
    {
256
260
      msg = replace_string(msg, "$PI", "your");
257
261
      msg = replace_string(msg, "$I", "You");
258
262
    }
259
 
    else msg = replace_string(msg, "$I", capitalize(this_player()->query_name()));
 
263
    else msg = replace_string(msg, "$I", capitalize(this_user()->query_name()));
260
264
 
261
265
    if (to_player == 0)
262
266
    {
263
 
      switch (this_player()->query("gender"))
 
267
      switch (this_user()->query("gender"))
264
268
      {
265
269
        case "male":
266
270
          msg = replace_string(msg, "$T", "himself");
279
283
  if (target)
280
284
  {
281
285
    if (to_player == 1) msg = replace_string(msg, "$I", "You");
282
 
    else msg = replace_string(msg, "$I", capitalize(this_player()->query_name()));
 
286
    else msg = replace_string(msg, "$I", capitalize(this_user()->query_name()));
283
287
 
284
288
    if (to_player == 1) msg = replace_string(msg, "$PI", "your");
285
289
    else
286
290
    {
287
 
      switch (this_player()->query("gender"))
 
291
      switch (this_user()->query("gender"))
288
292
      {
289
293
        case "male":
290
294
          msg = replace_string(msg, "$PI", "his");
297
301
      }
298
302
    }
299
303
 
300
 
    switch (this_player()->query("gender"))
 
304
    switch (this_user()->query("gender"))
301
305
    {
302
306
      case "male":
303
307
        msg = replace_string(msg, "$SI", "he");
309
313
        msg = replace_string(msg, "$SI", "it");
310
314
    }
311
315
 
312
 
    switch (this_player()->query("gender"))
 
316
    switch (this_user()->query("gender"))
313
317
    {
314
318
      case "male":
315
319
        msg = replace_string(msg, "$OI", "him");
374
378
  else
375
379
  {
376
380
    if (to_player == 1) msg = replace_string(msg, "$I", "You");
377
 
    else if (to_player == 0) msg = replace_string(msg, "$I", capitalize(this_player()->query_name()));
 
381
    else
 
382
    if (to_player == 0) msg = replace_string(msg, "$I", capitalize(this_user()->query_name()));
378
383
 
379
 
    switch (this_player()->query("gender"))
 
384
    switch (this_user()->query("gender"))
380
385
    {
381
386
      case "male":
382
387
        msg = replace_string(msg, "$PI", "his");
388
393
        msg = replace_string(msg, "$PI", "its");
389
394
    }
390
395
 
391
 
    switch (this_player()->query("gender"))
 
396
    switch (this_user()->query("gender"))
392
397
    {
393
398
      case "male":
394
399
        msg = replace_string(msg, "$SI", "he");
400
405
        msg = replace_string(msg, "$SI", "it");
401
406
    }
402
407
 
403
 
    switch (this_player()->query("gender"))
 
408
    switch (this_user()->query("gender"))
404
409
    {
405
410
      case "male":
406
411
        msg = replace_string(msg, "$OI", "him");
439
444
{
440
445
  string array tmp1 = ({ });
441
446
  string array tmp2 = ({ });
442
 
  int i, sz;
 
447
  int    i, sz;
443
448
 
444
 
  if (objectp(target) && target == this_player())
 
449
  if (objectp(target) && target == this_user())
445
450
  {
446
451
    if (to_player == 1)
447
452
    {
452
457
 
453
458
    if (to_player == 0)
454
459
    {
455
 
      switch (this_player()->query("gender"))
 
460
      switch (this_user()->query("gender"))
456
461
      {
457
462
        case "male":
458
463
          msg = replace_string(msg, "$T", "himself");
476
481
    if (to_player == 1) msg = replace_string(msg, "$PI", "your");
477
482
    else
478
483
    {
479
 
      switch (this_player()->query("gender"))
 
484
      switch (this_user()->query("gender"))
480
485
      {
481
486
        case "male":
482
487
          msg = replace_string(msg, "$PI", "his");
489
494
      }
490
495
    }
491
496
 
492
 
    switch (this_player()->query("gender"))
 
497
    switch (this_user()->query("gender"))
493
498
    {
494
499
      case "male":
495
500
        msg = replace_string(msg, "$SI", "he");
501
506
        msg = replace_string(msg, "$SI", "it");
502
507
    }
503
508
 
504
 
    switch (this_player()->query("gender"))
 
509
    switch (this_user()->query("gender"))
505
510
    {
506
511
      case "male":
507
512
        msg = replace_string(msg, "$OI", "him");
521
526
    if (stringp(target))
522
527
    {
523
528
      string mudname, username;
524
 
      int gender;
 
529
      int    gender;
525
530
 
526
531
      sscanf(target, "%s@%s", username, mudname);
527
532
      gender = find_object(I3_UCACHE)->getGender(mudname, username);
611
616
  else
612
617
  {
613
618
    if (to_player == 1) msg = replace_string(msg, "$I", "You");
614
 
    else if (to_player == 0) msg = replace_string(msg, "$I", "$N");
 
619
    else
 
620
    if (to_player == 0) msg = replace_string(msg, "$I", "$N");
615
621
 
616
 
    switch (this_player()->query("gender"))
 
622
    switch (this_user()->query("gender"))
617
623
    {
618
624
      case "male":
619
625
        msg = replace_string(msg, "$PI", "his");
625
631
        msg = replace_string(msg, "$PI", "its");
626
632
    }
627
633
 
628
 
    switch (this_player()->query("gender"))
 
634
    switch (this_user()->query("gender"))
629
635
    {
630
636
      case "male":
631
637
        msg = replace_string(msg, "$SI", "he");
637
643
        msg = replace_string(msg, "$SI", "it");
638
644
    }
639
645
 
640
 
    switch (this_player()->query("gender"))
 
646
    switch (this_user()->query("gender"))
641
647
    {
642
648
      case "male":
643
649
        msg = replace_string(msg, "$OI", "him");